chore: Update discovery artifacts (#1356)

## Deleted keys were detected in the following stable discovery artifacts:
compute v1 https://github.com/googleapis/google-api-python-client/commit/685c19d4b5262d27a2b1016e01186188afe610fd
genomics v1 https://github.com/googleapis/google-api-python-client/commit/d0e6cc48df2d0a00d91ce6fbab83aa82146f3573

## Deleted keys were detected in the following pre-stable discovery artifacts:
compute alpha https://github.com/googleapis/google-api-python-client/commit/685c19d4b5262d27a2b1016e01186188afe610fd
compute beta https://github.com/googleapis/google-api-python-client/commit/685c19d4b5262d27a2b1016e01186188afe610fd
genomics v2alpha1 https://github.com/googleapis/google-api-python-client/commit/d0e6cc48df2d0a00d91ce6fbab83aa82146f3573

## Discovery Artifact Change Summary:
feat(analyticsadmin): update the api https://github.com/googleapis/google-api-python-client/commit/9648bae09873a132e7b4627096c153043911be6e
feat(artifactregistry): update the api https://github.com/googleapis/google-api-python-client/commit/7dd722fe8b0ae822f4847219c442aa67a1aae7fd
feat(assuredworkloads): update the api https://github.com/googleapis/google-api-python-client/commit/9b84ffce415133e860cc55bfbd3b9c15c3d46a24
feat(cloudasset): update the api https://github.com/googleapis/google-api-python-client/commit/a8228db5ef31724493f0f62bf8062aca9adc44aa
feat(cloudbuild): update the api https://github.com/googleapis/google-api-python-client/commit/c9d8208c0f9579d958224566af369b809e13016a
feat(compute): update the api https://github.com/googleapis/google-api-python-client/commit/685c19d4b5262d27a2b1016e01186188afe610fd
feat(container): update the api https://github.com/googleapis/google-api-python-client/commit/c5cd244f996b1dfb605ef28eb22f8b0e76bffa1b
feat(dialogflow): update the api https://github.com/googleapis/google-api-python-client/commit/0c6b31fd2deb75ca1c023fed36903b638f5e74f8
feat(documentai): update the api https://github.com/googleapis/google-api-python-client/commit/6dcec9fd8c0f803d37b4c8355870208e5a8c61ce
feat(drive): update the api https://github.com/googleapis/google-api-python-client/commit/8788823461610f31eebd655915e07def9690da48
feat(genomics): update the api https://github.com/googleapis/google-api-python-client/commit/d0e6cc48df2d0a00d91ce6fbab83aa82146f3573
feat(logging): update the api https://github.com/googleapis/google-api-python-client/commit/7f5fa161fd3db9ca6f2df23f5c8bd41ba01e9b9c
feat(privateca): update the api https://github.com/googleapis/google-api-python-client/commit/0a5c31d74f788444640c174c413b12d494a00f1a
feat(pubsublite): update the api https://github.com/googleapis/google-api-python-client/commit/dd67e9b117fdc8d0d0ecff6ade657003a95c12f7
feat(recommender): update the api https://github.com/googleapis/google-api-python-client/commit/4b261d97bea2a8bc042a274c2d904be09da2d82c
diff --git a/docs/dyn/adexchangebuyer_v1_4.pubprofiles.html b/docs/dyn/adexchangebuyer_v1_4.pubprofiles.html
index 5c6f83d..525d7a0 100644
--- a/docs/dyn/adexchangebuyer_v1_4.pubprofiles.html
+++ b/docs/dyn/adexchangebuyer_v1_4.pubprofiles.html
@@ -113,10 +113,10 @@
       "overview": "A String", # Publisher provided overview.
       "profileId": 42, # The pair of (seller.account_id, profile_id) uniquely identifies a publisher profile for a given publisher.
       "programmaticContact": "A String", # Programmatic contact for the publisher profile.
-      "publisherAppIds": [ # The list of app IDs represented in this pubisher profile. Empty if this is a parent profile. Deprecated in favor of publisher_app.
+      "publisherAppIds": [ # The list of app IDs represented in this publisher profile. Empty if this is a parent profile. Deprecated in favor of publisher_app.
         "A String",
       ],
-      "publisherApps": [ # The list of apps represented in this pubisher profile. Empty if this is a parent profile.
+      "publisherApps": [ # The list of apps represented in this publisher profile. Empty if this is a parent profile.
         {
           "appStore": "A String",
           "externalAppId": "A String",
diff --git a/docs/dyn/analyticsadmin_v1alpha.accounts.html b/docs/dyn/analyticsadmin_v1alpha.accounts.html
index 3d1f4aa..8db650a 100644
--- a/docs/dyn/analyticsadmin_v1alpha.accounts.html
+++ b/docs/dyn/analyticsadmin_v1alpha.accounts.html
@@ -356,6 +356,28 @@
               "packageName": "A String", # Immutable. The package name for the app being measured. Example: "com.example.myandroidapp"
               "updateTime": "A String", # Output only. Time when stream payload fields were last updated.
             },
+            "conversionEvent": { # A conversion event in a Google Analytics property. # A snapshot of a ConversionEvent resource in change history.
+              "createTime": "A String", # Output only. Time when this conversion event was created in the property.
+              "eventName": "A String", # Immutable. The event name for this conversion event. Examples: 'click', 'purchase'
+              "isDeletable": True or False, # Output only. If set, this event can currently be deleted via DeleteConversionEvent.
+              "name": "A String", # Output only. Resource name of this conversion event. Format: properties/{property}/conversionEvents/{conversion_event}
+            },
+            "customDimension": { # A definition for a CustomDimension. # A snapshot of a CustomDimension resource in change history.
+              "description": "A String", # Optional. Description for this custom dimension. Max length of 150 characters.
+              "disallowAdsPersonalization": True or False, # Optional. If set to true, sets this dimension as NPA and excludes it from ads personalization. This is currently only supported by user-scoped custom dimensions.
+              "displayName": "A String", # Required. Display name for this custom dimension as shown in the Analytics UI. Max length of 82 characters, alphanumeric plus space and underscore starting with a letter. Legacy system-generated display names may contain square brackets, but updates to this field will never permit square brackets.
+              "name": "A String", # Output only. Resource name for this CustomDimension resource. Format: properties/{property}/customDimensions/{customDimension}
+              "parameterName": "A String", # Required. Immutable. Tagging parameter name for this custom dimension. If this is a user-scoped dimension, then this is the user property name. If this is an event-scoped dimension, then this is the event parameter name. May only contain alphanumeric and underscore characters, starting with a letter. Max length of 24 characters for user-scoped dimensions, 40 characters for event-scoped dimensions.
+              "scope": "A String", # Required. Immutable. The scope of this dimension.
+            },
+            "customMetric": { # A definition for a custom metric. # A snapshot of a CustomMetric resource in change history.
+              "description": "A String", # Optional. Description for this custom dimension. Max length of 150 characters.
+              "displayName": "A String", # Required. Display name for this custom metric as shown in the Analytics UI. Max length of 82 characters, alphanumeric plus space and underscore starting with a letter. Legacy system-generated display names may contain square brackets, but updates to this field will never permit square brackets.
+              "measurementUnit": "A String", # Required. Immutable. The type for the custom metric's value.
+              "name": "A String", # Output only. Resource name for this CustomMetric resource. Format: properties/{property}/customMetrics/{customMetric}
+              "parameterName": "A String", # Required. Immutable. Tagging name for this custom metric. If this is an event-scoped metric, then this is the event parameter name. May only contain alphanumeric and underscore charactes, starting with a letter. Max length of 40 characters for event-scoped metrics.
+              "scope": "A String", # Required. Immutable. The scope of this custom metric.
+            },
             "firebaseLink": { # A link between an GA4 property and a Firebase project. # A snapshot of a FirebaseLink resource in change history.
               "createTime": "A String", # Output only. Time when this FirebaseLink was originally created.
               "maximumUserAccess": "A String", # Maximum user access to the GA4 property allowed to admins of the linked Firebase project.
@@ -418,6 +440,28 @@
               "packageName": "A String", # Immutable. The package name for the app being measured. Example: "com.example.myandroidapp"
               "updateTime": "A String", # Output only. Time when stream payload fields were last updated.
             },
+            "conversionEvent": { # A conversion event in a Google Analytics property. # A snapshot of a ConversionEvent resource in change history.
+              "createTime": "A String", # Output only. Time when this conversion event was created in the property.
+              "eventName": "A String", # Immutable. The event name for this conversion event. Examples: 'click', 'purchase'
+              "isDeletable": True or False, # Output only. If set, this event can currently be deleted via DeleteConversionEvent.
+              "name": "A String", # Output only. Resource name of this conversion event. Format: properties/{property}/conversionEvents/{conversion_event}
+            },
+            "customDimension": { # A definition for a CustomDimension. # A snapshot of a CustomDimension resource in change history.
+              "description": "A String", # Optional. Description for this custom dimension. Max length of 150 characters.
+              "disallowAdsPersonalization": True or False, # Optional. If set to true, sets this dimension as NPA and excludes it from ads personalization. This is currently only supported by user-scoped custom dimensions.
+              "displayName": "A String", # Required. Display name for this custom dimension as shown in the Analytics UI. Max length of 82 characters, alphanumeric plus space and underscore starting with a letter. Legacy system-generated display names may contain square brackets, but updates to this field will never permit square brackets.
+              "name": "A String", # Output only. Resource name for this CustomDimension resource. Format: properties/{property}/customDimensions/{customDimension}
+              "parameterName": "A String", # Required. Immutable. Tagging parameter name for this custom dimension. If this is a user-scoped dimension, then this is the user property name. If this is an event-scoped dimension, then this is the event parameter name. May only contain alphanumeric and underscore characters, starting with a letter. Max length of 24 characters for user-scoped dimensions, 40 characters for event-scoped dimensions.
+              "scope": "A String", # Required. Immutable. The scope of this dimension.
+            },
+            "customMetric": { # A definition for a custom metric. # A snapshot of a CustomMetric resource in change history.
+              "description": "A String", # Optional. Description for this custom dimension. Max length of 150 characters.
+              "displayName": "A String", # Required. Display name for this custom metric as shown in the Analytics UI. Max length of 82 characters, alphanumeric plus space and underscore starting with a letter. Legacy system-generated display names may contain square brackets, but updates to this field will never permit square brackets.
+              "measurementUnit": "A String", # Required. Immutable. The type for the custom metric's value.
+              "name": "A String", # Output only. Resource name for this CustomMetric resource. Format: properties/{property}/customMetrics/{customMetric}
+              "parameterName": "A String", # Required. Immutable. Tagging name for this custom metric. If this is an event-scoped metric, then this is the event parameter name. May only contain alphanumeric and underscore charactes, starting with a letter. Max length of 40 characters for event-scoped metrics.
+              "scope": "A String", # Required. Immutable. The scope of this custom metric.
+            },
             "firebaseLink": { # A link between an GA4 property and a Firebase project. # A snapshot of a FirebaseLink resource in change history.
               "createTime": "A String", # Output only. Time when this FirebaseLink was originally created.
               "maximumUserAccess": "A String", # Maximum user access to the GA4 property allowed to admins of the linked Firebase project.
diff --git a/docs/dyn/analyticsadmin_v1alpha.properties.conversionEvents.html b/docs/dyn/analyticsadmin_v1alpha.properties.conversionEvents.html
new file mode 100644
index 0000000..5302c43
--- /dev/null
+++ b/docs/dyn/analyticsadmin_v1alpha.properties.conversionEvents.html
@@ -0,0 +1,216 @@
+<html><body>
+<style>
+
+body, h1, h2, h3, div, span, p, pre, a {
+  margin: 0;
+  padding: 0;
+  border: 0;
+  font-weight: inherit;
+  font-style: inherit;
+  font-size: 100%;
+  font-family: inherit;
+  vertical-align: baseline;
+}
+
+body {
+  font-size: 13px;
+  padding: 1em;
+}
+
+h1 {
+  font-size: 26px;
+  margin-bottom: 1em;
+}
+
+h2 {
+  font-size: 24px;
+  margin-bottom: 1em;
+}
+
+h3 {
+  font-size: 20px;
+  margin-bottom: 1em;
+  margin-top: 1em;
+}
+
+pre, code {
+  line-height: 1.5;
+  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
+}
+
+pre {
+  margin-top: 0.5em;
+}
+
+h1, h2, h3, p {
+  font-family: Arial, sans serif;
+}
+
+h1, h2, h3 {
+  border-bottom: solid #CCC 1px;
+}
+
+.toc_element {
+  margin-top: 0.5em;
+}
+
+.firstline {
+  margin-left: 2 em;
+}
+
+.method  {
+  margin-top: 1em;
+  border: solid 1px #CCC;
+  padding: 1em;
+  background: #EEE;
+}
+
+.details {
+  font-weight: bold;
+  font-size: 14px;
+}
+
+</style>
+
+<h1><a href="analyticsadmin_v1alpha.html">Google Analytics Admin API</a> . <a href="analyticsadmin_v1alpha.properties.html">properties</a> . <a href="analyticsadmin_v1alpha.properties.conversionEvents.html">conversionEvents</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 conversion event with the specified attributes.</p>
+<p class="toc_element">
+  <code><a href="#delete">delete(name, x__xgafv=None)</a></code></p>
+<p class="firstline">Deletes a conversion event in a property.</p>
+<p class="toc_element">
+  <code><a href="#get">get(name, x__xgafv=None)</a></code></p>
+<p class="firstline">Retrieve a single conversion event.</p>
+<p class="toc_element">
+  <code><a href="#list">list(parent, pageSize=None, pageToken=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Returns a list of conversion events in the specified parent property. Returns an empty list if no conversion events are found.</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="create">create(parent, body=None, x__xgafv=None)</code>
+  <pre>Creates a conversion event with the specified attributes.
+
+Args:
+  parent: string, Required. The resource name of the parent property where this conversion event will be created. Format: properties/123 (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # A conversion event in a Google Analytics property.
+  &quot;createTime&quot;: &quot;A String&quot;, # Output only. Time when this conversion event was created in the property.
+  &quot;eventName&quot;: &quot;A String&quot;, # Immutable. The event name for this conversion event. Examples: &#x27;click&#x27;, &#x27;purchase&#x27;
+  &quot;isDeletable&quot;: True or False, # Output only. If set, this event can currently be deleted via DeleteConversionEvent.
+  &quot;name&quot;: &quot;A String&quot;, # Output only. Resource name of this conversion event. Format: properties/{property}/conversionEvents/{conversion_event}
+}
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A conversion event in a Google Analytics property.
+  &quot;createTime&quot;: &quot;A String&quot;, # Output only. Time when this conversion event was created in the property.
+  &quot;eventName&quot;: &quot;A String&quot;, # Immutable. The event name for this conversion event. Examples: &#x27;click&#x27;, &#x27;purchase&#x27;
+  &quot;isDeletable&quot;: True or False, # Output only. If set, this event can currently be deleted via DeleteConversionEvent.
+  &quot;name&quot;: &quot;A String&quot;, # Output only. Resource name of this conversion event. Format: properties/{property}/conversionEvents/{conversion_event}
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="delete">delete(name, x__xgafv=None)</code>
+  <pre>Deletes a conversion event in a property.
+
+Args:
+  name: string, Required. The resource name of the conversion event to delete. Format: properties/{property}/conversionEvents/{conversion_event} Example: &quot;properties/123/conversionEvents/456&quot; (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } The JSON representation for `Empty` is empty JSON object `{}`.
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(name, x__xgafv=None)</code>
+  <pre>Retrieve a single conversion event.
+
+Args:
+  name: string, Required. The resource name of the conversion event to retrieve. Format: properties/{property}/conversionEvents/{conversion_event} Example: &quot;properties/123/conversionEvents/456&quot; (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A conversion event in a Google Analytics property.
+  &quot;createTime&quot;: &quot;A String&quot;, # Output only. Time when this conversion event was created in the property.
+  &quot;eventName&quot;: &quot;A String&quot;, # Immutable. The event name for this conversion event. Examples: &#x27;click&#x27;, &#x27;purchase&#x27;
+  &quot;isDeletable&quot;: True or False, # Output only. If set, this event can currently be deleted via DeleteConversionEvent.
+  &quot;name&quot;: &quot;A String&quot;, # Output only. Resource name of this conversion event. Format: properties/{property}/conversionEvents/{conversion_event}
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(parent, pageSize=None, pageToken=None, x__xgafv=None)</code>
+  <pre>Returns a list of conversion events in the specified parent property. Returns an empty list if no conversion events are found.
+
+Args:
+  parent: string, Required. The resource name of the parent property. Example: &#x27;properties/123&#x27; (required)
+  pageSize: integer, The maximum number of resources to return. If unspecified, at most 50 resources will be returned. The maximum value is 200; (higher values will be coerced to the maximum)
+  pageToken: string, A page token, received from a previous `ListConversionEvents` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListConversionEvents` must match the call that provided the page token.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Response message for ListConversionEvents RPC.
+  &quot;conversionEvents&quot;: [ # The requested conversion events
+    { # A conversion event in a Google Analytics property.
+      &quot;createTime&quot;: &quot;A String&quot;, # Output only. Time when this conversion event was created in the property.
+      &quot;eventName&quot;: &quot;A String&quot;, # Immutable. The event name for this conversion event. Examples: &#x27;click&#x27;, &#x27;purchase&#x27;
+      &quot;isDeletable&quot;: True or False, # Output only. If set, this event can currently be deleted via DeleteConversionEvent.
+      &quot;name&quot;: &quot;A String&quot;, # Output only. Resource name of this conversion event. Format: properties/{property}/conversionEvents/{conversion_event}
+    },
+  ],
+  &quot;nextPageToken&quot;: &quot;A String&quot;, # A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
+  <pre>Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call &#x27;execute()&#x27; on to request the next
+  page. Returns None if there are no more items in the collection.
+    </pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/analyticsadmin_v1alpha.properties.customDimensions.html b/docs/dyn/analyticsadmin_v1alpha.properties.customDimensions.html
new file mode 100644
index 0000000..85a750d
--- /dev/null
+++ b/docs/dyn/analyticsadmin_v1alpha.properties.customDimensions.html
@@ -0,0 +1,270 @@
+<html><body>
+<style>
+
+body, h1, h2, h3, div, span, p, pre, a {
+  margin: 0;
+  padding: 0;
+  border: 0;
+  font-weight: inherit;
+  font-style: inherit;
+  font-size: 100%;
+  font-family: inherit;
+  vertical-align: baseline;
+}
+
+body {
+  font-size: 13px;
+  padding: 1em;
+}
+
+h1 {
+  font-size: 26px;
+  margin-bottom: 1em;
+}
+
+h2 {
+  font-size: 24px;
+  margin-bottom: 1em;
+}
+
+h3 {
+  font-size: 20px;
+  margin-bottom: 1em;
+  margin-top: 1em;
+}
+
+pre, code {
+  line-height: 1.5;
+  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
+}
+
+pre {
+  margin-top: 0.5em;
+}
+
+h1, h2, h3, p {
+  font-family: Arial, sans serif;
+}
+
+h1, h2, h3 {
+  border-bottom: solid #CCC 1px;
+}
+
+.toc_element {
+  margin-top: 0.5em;
+}
+
+.firstline {
+  margin-left: 2 em;
+}
+
+.method  {
+  margin-top: 1em;
+  border: solid 1px #CCC;
+  padding: 1em;
+  background: #EEE;
+}
+
+.details {
+  font-weight: bold;
+  font-size: 14px;
+}
+
+</style>
+
+<h1><a href="analyticsadmin_v1alpha.html">Google Analytics Admin API</a> . <a href="analyticsadmin_v1alpha.properties.html">properties</a> . <a href="analyticsadmin_v1alpha.properties.customDimensions.html">customDimensions</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#archive">archive(name, body=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Archives a CustomDimension on a property.</p>
+<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 CustomDimension.</p>
+<p class="toc_element">
+  <code><a href="#get">get(name, x__xgafv=None)</a></code></p>
+<p class="firstline">Lookup for a single CustomDimension.</p>
+<p class="toc_element">
+  <code><a href="#list">list(parent, pageSize=None, pageToken=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Lists CustomDimensions on a property.</p>
+<p class="toc_element">
+  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
+<p class="firstline">Retrieves the next page of results.</p>
+<p class="toc_element">
+  <code><a href="#patch">patch(name, body=None, updateMask=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Updates a CustomDimension on a property.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="archive">archive(name, body=None, x__xgafv=None)</code>
+  <pre>Archives a CustomDimension on a property.
+
+Args:
+  name: string, Required. The name of the CustomDimension to archive. Example format: properties/1234/customDimensions/5678 (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for ArchiveCustomDimension RPC.
+}
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } The JSON representation for `Empty` is empty JSON object `{}`.
+}</pre>
+</div>
+
+<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 CustomDimension.
+
+Args:
+  parent: string, Required. Example format: properties/1234 (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # A definition for a CustomDimension.
+  &quot;description&quot;: &quot;A String&quot;, # Optional. Description for this custom dimension. Max length of 150 characters.
+  &quot;disallowAdsPersonalization&quot;: True or False, # Optional. If set to true, sets this dimension as NPA and excludes it from ads personalization. This is currently only supported by user-scoped custom dimensions.
+  &quot;displayName&quot;: &quot;A String&quot;, # Required. Display name for this custom dimension as shown in the Analytics UI. Max length of 82 characters, alphanumeric plus space and underscore starting with a letter. Legacy system-generated display names may contain square brackets, but updates to this field will never permit square brackets.
+  &quot;name&quot;: &quot;A String&quot;, # Output only. Resource name for this CustomDimension resource. Format: properties/{property}/customDimensions/{customDimension}
+  &quot;parameterName&quot;: &quot;A String&quot;, # Required. Immutable. Tagging parameter name for this custom dimension. If this is a user-scoped dimension, then this is the user property name. If this is an event-scoped dimension, then this is the event parameter name. May only contain alphanumeric and underscore characters, starting with a letter. Max length of 24 characters for user-scoped dimensions, 40 characters for event-scoped dimensions.
+  &quot;scope&quot;: &quot;A String&quot;, # Required. Immutable. The scope of this dimension.
+}
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A definition for a CustomDimension.
+  &quot;description&quot;: &quot;A String&quot;, # Optional. Description for this custom dimension. Max length of 150 characters.
+  &quot;disallowAdsPersonalization&quot;: True or False, # Optional. If set to true, sets this dimension as NPA and excludes it from ads personalization. This is currently only supported by user-scoped custom dimensions.
+  &quot;displayName&quot;: &quot;A String&quot;, # Required. Display name for this custom dimension as shown in the Analytics UI. Max length of 82 characters, alphanumeric plus space and underscore starting with a letter. Legacy system-generated display names may contain square brackets, but updates to this field will never permit square brackets.
+  &quot;name&quot;: &quot;A String&quot;, # Output only. Resource name for this CustomDimension resource. Format: properties/{property}/customDimensions/{customDimension}
+  &quot;parameterName&quot;: &quot;A String&quot;, # Required. Immutable. Tagging parameter name for this custom dimension. If this is a user-scoped dimension, then this is the user property name. If this is an event-scoped dimension, then this is the event parameter name. May only contain alphanumeric and underscore characters, starting with a letter. Max length of 24 characters for user-scoped dimensions, 40 characters for event-scoped dimensions.
+  &quot;scope&quot;: &quot;A String&quot;, # Required. Immutable. The scope of this dimension.
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(name, x__xgafv=None)</code>
+  <pre>Lookup for a single CustomDimension.
+
+Args:
+  name: string, Required. The name of the CustomDimension to get. Example format: properties/1234/customDimensions/5678 (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A definition for a CustomDimension.
+  &quot;description&quot;: &quot;A String&quot;, # Optional. Description for this custom dimension. Max length of 150 characters.
+  &quot;disallowAdsPersonalization&quot;: True or False, # Optional. If set to true, sets this dimension as NPA and excludes it from ads personalization. This is currently only supported by user-scoped custom dimensions.
+  &quot;displayName&quot;: &quot;A String&quot;, # Required. Display name for this custom dimension as shown in the Analytics UI. Max length of 82 characters, alphanumeric plus space and underscore starting with a letter. Legacy system-generated display names may contain square brackets, but updates to this field will never permit square brackets.
+  &quot;name&quot;: &quot;A String&quot;, # Output only. Resource name for this CustomDimension resource. Format: properties/{property}/customDimensions/{customDimension}
+  &quot;parameterName&quot;: &quot;A String&quot;, # Required. Immutable. Tagging parameter name for this custom dimension. If this is a user-scoped dimension, then this is the user property name. If this is an event-scoped dimension, then this is the event parameter name. May only contain alphanumeric and underscore characters, starting with a letter. Max length of 24 characters for user-scoped dimensions, 40 characters for event-scoped dimensions.
+  &quot;scope&quot;: &quot;A String&quot;, # Required. Immutable. The scope of this dimension.
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(parent, pageSize=None, pageToken=None, x__xgafv=None)</code>
+  <pre>Lists CustomDimensions on a property.
+
+Args:
+  parent: string, Required. Example format: properties/1234 (required)
+  pageSize: integer, The maximum number of resources to return. If unspecified, at most 50 resources will be returned. The maximum value is 200 (higher values will be coerced to the maximum).
+  pageToken: string, A page token, received from a previous `ListCustomDimensions` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListCustomDimensions` must match the call that provided the page token.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Response message for ListCustomDimensions RPC.
+  &quot;customDimensions&quot;: [ # List of CustomDimensions.
+    { # A definition for a CustomDimension.
+      &quot;description&quot;: &quot;A String&quot;, # Optional. Description for this custom dimension. Max length of 150 characters.
+      &quot;disallowAdsPersonalization&quot;: True or False, # Optional. If set to true, sets this dimension as NPA and excludes it from ads personalization. This is currently only supported by user-scoped custom dimensions.
+      &quot;displayName&quot;: &quot;A String&quot;, # Required. Display name for this custom dimension as shown in the Analytics UI. Max length of 82 characters, alphanumeric plus space and underscore starting with a letter. Legacy system-generated display names may contain square brackets, but updates to this field will never permit square brackets.
+      &quot;name&quot;: &quot;A String&quot;, # Output only. Resource name for this CustomDimension resource. Format: properties/{property}/customDimensions/{customDimension}
+      &quot;parameterName&quot;: &quot;A String&quot;, # Required. Immutable. Tagging parameter name for this custom dimension. If this is a user-scoped dimension, then this is the user property name. If this is an event-scoped dimension, then this is the event parameter name. May only contain alphanumeric and underscore characters, starting with a letter. Max length of 24 characters for user-scoped dimensions, 40 characters for event-scoped dimensions.
+      &quot;scope&quot;: &quot;A String&quot;, # Required. Immutable. The scope of this dimension.
+    },
+  ],
+  &quot;nextPageToken&quot;: &quot;A String&quot;, # A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
+  <pre>Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call &#x27;execute()&#x27; on to request the next
+  page. Returns None if there are no more items in the collection.
+    </pre>
+</div>
+
+<div class="method">
+    <code class="details" id="patch">patch(name, body=None, updateMask=None, x__xgafv=None)</code>
+  <pre>Updates a CustomDimension on a property.
+
+Args:
+  name: string, Output only. Resource name for this CustomDimension resource. Format: properties/{property}/customDimensions/{customDimension} (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # A definition for a CustomDimension.
+  &quot;description&quot;: &quot;A String&quot;, # Optional. Description for this custom dimension. Max length of 150 characters.
+  &quot;disallowAdsPersonalization&quot;: True or False, # Optional. If set to true, sets this dimension as NPA and excludes it from ads personalization. This is currently only supported by user-scoped custom dimensions.
+  &quot;displayName&quot;: &quot;A String&quot;, # Required. Display name for this custom dimension as shown in the Analytics UI. Max length of 82 characters, alphanumeric plus space and underscore starting with a letter. Legacy system-generated display names may contain square brackets, but updates to this field will never permit square brackets.
+  &quot;name&quot;: &quot;A String&quot;, # Output only. Resource name for this CustomDimension resource. Format: properties/{property}/customDimensions/{customDimension}
+  &quot;parameterName&quot;: &quot;A String&quot;, # Required. Immutable. Tagging parameter name for this custom dimension. If this is a user-scoped dimension, then this is the user property name. If this is an event-scoped dimension, then this is the event parameter name. May only contain alphanumeric and underscore characters, starting with a letter. Max length of 24 characters for user-scoped dimensions, 40 characters for event-scoped dimensions.
+  &quot;scope&quot;: &quot;A String&quot;, # Required. Immutable. The scope of this dimension.
+}
+
+  updateMask: string, Required. The list of fields to be updated. Omitted fields will not be updated. To replace the entire entity, use one path with the string &quot;*&quot; to match all fields.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A definition for a CustomDimension.
+  &quot;description&quot;: &quot;A String&quot;, # Optional. Description for this custom dimension. Max length of 150 characters.
+  &quot;disallowAdsPersonalization&quot;: True or False, # Optional. If set to true, sets this dimension as NPA and excludes it from ads personalization. This is currently only supported by user-scoped custom dimensions.
+  &quot;displayName&quot;: &quot;A String&quot;, # Required. Display name for this custom dimension as shown in the Analytics UI. Max length of 82 characters, alphanumeric plus space and underscore starting with a letter. Legacy system-generated display names may contain square brackets, but updates to this field will never permit square brackets.
+  &quot;name&quot;: &quot;A String&quot;, # Output only. Resource name for this CustomDimension resource. Format: properties/{property}/customDimensions/{customDimension}
+  &quot;parameterName&quot;: &quot;A String&quot;, # Required. Immutable. Tagging parameter name for this custom dimension. If this is a user-scoped dimension, then this is the user property name. If this is an event-scoped dimension, then this is the event parameter name. May only contain alphanumeric and underscore characters, starting with a letter. Max length of 24 characters for user-scoped dimensions, 40 characters for event-scoped dimensions.
+  &quot;scope&quot;: &quot;A String&quot;, # Required. Immutable. The scope of this dimension.
+}</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/analyticsadmin_v1alpha.properties.customMetrics.html b/docs/dyn/analyticsadmin_v1alpha.properties.customMetrics.html
new file mode 100644
index 0000000..9355f25
--- /dev/null
+++ b/docs/dyn/analyticsadmin_v1alpha.properties.customMetrics.html
@@ -0,0 +1,270 @@
+<html><body>
+<style>
+
+body, h1, h2, h3, div, span, p, pre, a {
+  margin: 0;
+  padding: 0;
+  border: 0;
+  font-weight: inherit;
+  font-style: inherit;
+  font-size: 100%;
+  font-family: inherit;
+  vertical-align: baseline;
+}
+
+body {
+  font-size: 13px;
+  padding: 1em;
+}
+
+h1 {
+  font-size: 26px;
+  margin-bottom: 1em;
+}
+
+h2 {
+  font-size: 24px;
+  margin-bottom: 1em;
+}
+
+h3 {
+  font-size: 20px;
+  margin-bottom: 1em;
+  margin-top: 1em;
+}
+
+pre, code {
+  line-height: 1.5;
+  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
+}
+
+pre {
+  margin-top: 0.5em;
+}
+
+h1, h2, h3, p {
+  font-family: Arial, sans serif;
+}
+
+h1, h2, h3 {
+  border-bottom: solid #CCC 1px;
+}
+
+.toc_element {
+  margin-top: 0.5em;
+}
+
+.firstline {
+  margin-left: 2 em;
+}
+
+.method  {
+  margin-top: 1em;
+  border: solid 1px #CCC;
+  padding: 1em;
+  background: #EEE;
+}
+
+.details {
+  font-weight: bold;
+  font-size: 14px;
+}
+
+</style>
+
+<h1><a href="analyticsadmin_v1alpha.html">Google Analytics Admin API</a> . <a href="analyticsadmin_v1alpha.properties.html">properties</a> . <a href="analyticsadmin_v1alpha.properties.customMetrics.html">customMetrics</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#archive">archive(name, body=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Archives a CustomMetric on a property.</p>
+<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 CustomMetric.</p>
+<p class="toc_element">
+  <code><a href="#get">get(name, x__xgafv=None)</a></code></p>
+<p class="firstline">Lookup for a single CustomMetric.</p>
+<p class="toc_element">
+  <code><a href="#list">list(parent, pageSize=None, pageToken=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Lists CustomMetrics on a property.</p>
+<p class="toc_element">
+  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
+<p class="firstline">Retrieves the next page of results.</p>
+<p class="toc_element">
+  <code><a href="#patch">patch(name, body=None, updateMask=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Updates a CustomMetric on a property.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="archive">archive(name, body=None, x__xgafv=None)</code>
+  <pre>Archives a CustomMetric on a property.
+
+Args:
+  name: string, Required. The name of the CustomMetric to archive. Example format: properties/1234/customMetrics/5678 (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for ArchiveCustomMetric RPC.
+}
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } The JSON representation for `Empty` is empty JSON object `{}`.
+}</pre>
+</div>
+
+<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 CustomMetric.
+
+Args:
+  parent: string, Required. Example format: properties/1234 (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # A definition for a custom metric.
+  &quot;description&quot;: &quot;A String&quot;, # Optional. Description for this custom dimension. Max length of 150 characters.
+  &quot;displayName&quot;: &quot;A String&quot;, # Required. Display name for this custom metric as shown in the Analytics UI. Max length of 82 characters, alphanumeric plus space and underscore starting with a letter. Legacy system-generated display names may contain square brackets, but updates to this field will never permit square brackets.
+  &quot;measurementUnit&quot;: &quot;A String&quot;, # Required. Immutable. The type for the custom metric&#x27;s value.
+  &quot;name&quot;: &quot;A String&quot;, # Output only. Resource name for this CustomMetric resource. Format: properties/{property}/customMetrics/{customMetric}
+  &quot;parameterName&quot;: &quot;A String&quot;, # Required. Immutable. Tagging name for this custom metric. If this is an event-scoped metric, then this is the event parameter name. May only contain alphanumeric and underscore charactes, starting with a letter. Max length of 40 characters for event-scoped metrics.
+  &quot;scope&quot;: &quot;A String&quot;, # Required. Immutable. The scope of this custom metric.
+}
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A definition for a custom metric.
+  &quot;description&quot;: &quot;A String&quot;, # Optional. Description for this custom dimension. Max length of 150 characters.
+  &quot;displayName&quot;: &quot;A String&quot;, # Required. Display name for this custom metric as shown in the Analytics UI. Max length of 82 characters, alphanumeric plus space and underscore starting with a letter. Legacy system-generated display names may contain square brackets, but updates to this field will never permit square brackets.
+  &quot;measurementUnit&quot;: &quot;A String&quot;, # Required. Immutable. The type for the custom metric&#x27;s value.
+  &quot;name&quot;: &quot;A String&quot;, # Output only. Resource name for this CustomMetric resource. Format: properties/{property}/customMetrics/{customMetric}
+  &quot;parameterName&quot;: &quot;A String&quot;, # Required. Immutable. Tagging name for this custom metric. If this is an event-scoped metric, then this is the event parameter name. May only contain alphanumeric and underscore charactes, starting with a letter. Max length of 40 characters for event-scoped metrics.
+  &quot;scope&quot;: &quot;A String&quot;, # Required. Immutable. The scope of this custom metric.
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(name, x__xgafv=None)</code>
+  <pre>Lookup for a single CustomMetric.
+
+Args:
+  name: string, Required. The name of the CustomMetric to get. Example format: properties/1234/customMetrics/5678 (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A definition for a custom metric.
+  &quot;description&quot;: &quot;A String&quot;, # Optional. Description for this custom dimension. Max length of 150 characters.
+  &quot;displayName&quot;: &quot;A String&quot;, # Required. Display name for this custom metric as shown in the Analytics UI. Max length of 82 characters, alphanumeric plus space and underscore starting with a letter. Legacy system-generated display names may contain square brackets, but updates to this field will never permit square brackets.
+  &quot;measurementUnit&quot;: &quot;A String&quot;, # Required. Immutable. The type for the custom metric&#x27;s value.
+  &quot;name&quot;: &quot;A String&quot;, # Output only. Resource name for this CustomMetric resource. Format: properties/{property}/customMetrics/{customMetric}
+  &quot;parameterName&quot;: &quot;A String&quot;, # Required. Immutable. Tagging name for this custom metric. If this is an event-scoped metric, then this is the event parameter name. May only contain alphanumeric and underscore charactes, starting with a letter. Max length of 40 characters for event-scoped metrics.
+  &quot;scope&quot;: &quot;A String&quot;, # Required. Immutable. The scope of this custom metric.
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(parent, pageSize=None, pageToken=None, x__xgafv=None)</code>
+  <pre>Lists CustomMetrics on a property.
+
+Args:
+  parent: string, Required. Example format: properties/1234 (required)
+  pageSize: integer, The maximum number of resources to return. If unspecified, at most 50 resources will be returned. The maximum value is 200 (higher values will be coerced to the maximum).
+  pageToken: string, A page token, received from a previous `ListCustomMetrics` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListCustomMetrics` must match the call that provided the page token.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Response message for ListCustomMetrics RPC.
+  &quot;customMetrics&quot;: [ # List of CustomMetrics.
+    { # A definition for a custom metric.
+      &quot;description&quot;: &quot;A String&quot;, # Optional. Description for this custom dimension. Max length of 150 characters.
+      &quot;displayName&quot;: &quot;A String&quot;, # Required. Display name for this custom metric as shown in the Analytics UI. Max length of 82 characters, alphanumeric plus space and underscore starting with a letter. Legacy system-generated display names may contain square brackets, but updates to this field will never permit square brackets.
+      &quot;measurementUnit&quot;: &quot;A String&quot;, # Required. Immutable. The type for the custom metric&#x27;s value.
+      &quot;name&quot;: &quot;A String&quot;, # Output only. Resource name for this CustomMetric resource. Format: properties/{property}/customMetrics/{customMetric}
+      &quot;parameterName&quot;: &quot;A String&quot;, # Required. Immutable. Tagging name for this custom metric. If this is an event-scoped metric, then this is the event parameter name. May only contain alphanumeric and underscore charactes, starting with a letter. Max length of 40 characters for event-scoped metrics.
+      &quot;scope&quot;: &quot;A String&quot;, # Required. Immutable. The scope of this custom metric.
+    },
+  ],
+  &quot;nextPageToken&quot;: &quot;A String&quot;, # A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
+  <pre>Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call &#x27;execute()&#x27; on to request the next
+  page. Returns None if there are no more items in the collection.
+    </pre>
+</div>
+
+<div class="method">
+    <code class="details" id="patch">patch(name, body=None, updateMask=None, x__xgafv=None)</code>
+  <pre>Updates a CustomMetric on a property.
+
+Args:
+  name: string, Output only. Resource name for this CustomMetric resource. Format: properties/{property}/customMetrics/{customMetric} (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # A definition for a custom metric.
+  &quot;description&quot;: &quot;A String&quot;, # Optional. Description for this custom dimension. Max length of 150 characters.
+  &quot;displayName&quot;: &quot;A String&quot;, # Required. Display name for this custom metric as shown in the Analytics UI. Max length of 82 characters, alphanumeric plus space and underscore starting with a letter. Legacy system-generated display names may contain square brackets, but updates to this field will never permit square brackets.
+  &quot;measurementUnit&quot;: &quot;A String&quot;, # Required. Immutable. The type for the custom metric&#x27;s value.
+  &quot;name&quot;: &quot;A String&quot;, # Output only. Resource name for this CustomMetric resource. Format: properties/{property}/customMetrics/{customMetric}
+  &quot;parameterName&quot;: &quot;A String&quot;, # Required. Immutable. Tagging name for this custom metric. If this is an event-scoped metric, then this is the event parameter name. May only contain alphanumeric and underscore charactes, starting with a letter. Max length of 40 characters for event-scoped metrics.
+  &quot;scope&quot;: &quot;A String&quot;, # Required. Immutable. The scope of this custom metric.
+}
+
+  updateMask: string, Required. The list of fields to be updated. Omitted fields will not be updated. To replace the entire entity, use one path with the string &quot;*&quot; to match all fields.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A definition for a custom metric.
+  &quot;description&quot;: &quot;A String&quot;, # Optional. Description for this custom dimension. Max length of 150 characters.
+  &quot;displayName&quot;: &quot;A String&quot;, # Required. Display name for this custom metric as shown in the Analytics UI. Max length of 82 characters, alphanumeric plus space and underscore starting with a letter. Legacy system-generated display names may contain square brackets, but updates to this field will never permit square brackets.
+  &quot;measurementUnit&quot;: &quot;A String&quot;, # Required. Immutable. The type for the custom metric&#x27;s value.
+  &quot;name&quot;: &quot;A String&quot;, # Output only. Resource name for this CustomMetric resource. Format: properties/{property}/customMetrics/{customMetric}
+  &quot;parameterName&quot;: &quot;A String&quot;, # Required. Immutable. Tagging name for this custom metric. If this is an event-scoped metric, then this is the event parameter name. May only contain alphanumeric and underscore charactes, starting with a letter. Max length of 40 characters for event-scoped metrics.
+  &quot;scope&quot;: &quot;A String&quot;, # Required. Immutable. The scope of this custom metric.
+}</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/analyticsadmin_v1alpha.properties.html b/docs/dyn/analyticsadmin_v1alpha.properties.html
index 7237814..2aad7fe 100644
--- a/docs/dyn/analyticsadmin_v1alpha.properties.html
+++ b/docs/dyn/analyticsadmin_v1alpha.properties.html
@@ -80,6 +80,21 @@
 <p class="firstline">Returns the androidAppDataStreams Resource.</p>
 
 <p class="toc_element">
+  <code><a href="analyticsadmin_v1alpha.properties.conversionEvents.html">conversionEvents()</a></code>
+</p>
+<p class="firstline">Returns the conversionEvents Resource.</p>
+
+<p class="toc_element">
+  <code><a href="analyticsadmin_v1alpha.properties.customDimensions.html">customDimensions()</a></code>
+</p>
+<p class="firstline">Returns the customDimensions Resource.</p>
+
+<p class="toc_element">
+  <code><a href="analyticsadmin_v1alpha.properties.customMetrics.html">customMetrics()</a></code>
+</p>
+<p class="firstline">Returns the customMetrics Resource.</p>
+
+<p class="toc_element">
   <code><a href="analyticsadmin_v1alpha.properties.firebaseLinks.html">firebaseLinks()</a></code>
 </p>
 <p class="firstline">Returns the firebaseLinks Resource.</p>
diff --git a/docs/dyn/apigee_v1.organizations.instances.html b/docs/dyn/apigee_v1.organizations.instances.html
index 15186ac..c8b33a5 100644
--- a/docs/dyn/apigee_v1.organizations.instances.html
+++ b/docs/dyn/apigee_v1.organizations.instances.html
@@ -307,7 +307,7 @@
               &quot;type&quot;: &quot;A String&quot;, # A string that uniquely identifies the type of error. This provides a more reliable means to deduplicate errors across revisions and instances.
             },
           ],
-          &quot;jsonSpec&quot;: &quot;A String&quot;, # The json content of the resource revision.
+          &quot;jsonSpec&quot;: &quot;A String&quot;, # The json content of the resource revision. Large specs should be sent individually via the spec field to avoid hitting request size limits.
           &quot;replicas&quot;: 42, # The number of replicas that have successfully loaded this revision.
           &quot;revisionId&quot;: &quot;A String&quot;, # The revision of the resource.
         },
diff --git a/docs/dyn/artifactregistry_v1.projects.locations.repositories.dockerImages.html b/docs/dyn/artifactregistry_v1.projects.locations.repositories.dockerImages.html
index 009711b..f1a24c8 100644
--- a/docs/dyn/artifactregistry_v1.projects.locations.repositories.dockerImages.html
+++ b/docs/dyn/artifactregistry_v1.projects.locations.repositories.dockerImages.html
@@ -107,9 +107,10 @@
 
     { # The response from listing docker images.
   &quot;dockerImages&quot;: [ # The docker images returned.
-    { # DockerImage represents a docker artifact.
-      &quot;imageSizeBytes&quot;: &quot;A String&quot;, # Calculated size of the image.
-      &quot;mediaType&quot;: &quot;A String&quot;, # Media type of this image, e.g. &quot;application/vnd.docker.distribution.manifest.v2+json&quot;.
+    { # DockerImage represents a docker artifact. The following fields are returned as untyped metadata in the Version resource, using camelcase keys (i.e. metadata.imageSizeBytes): - imageSizeBytes - mediaType - buildTime
+      &quot;buildTime&quot;: &quot;A String&quot;, # The time this image was built. This field is returned as the &#x27;metadata.buildTime&#x27; field in the Version resource. The build time is returned to the client as an RFC 3339 string, which can be easily used with the JavaScript Date constructor and keeps the Version timestamps returned via OnePlatform consistent, as JSON marshals google.protobuf.Timestamp into an RFC 3339 string. (http://google3/cloud/containers/artifacts/metadata/v1beta2/builder/data.go?l=158-159&amp;rcl=364878183).
+      &quot;imageSizeBytes&quot;: &quot;A String&quot;, # Calculated size of the image. This field is returned as the &#x27;metadata.imageSizeBytes&#x27; field in the Version resource.
+      &quot;mediaType&quot;: &quot;A String&quot;, # Media type of this image, e.g. &quot;application/vnd.docker.distribution.manifest.v2+json&quot;. This field is returned as the &#x27;metadata.mediaType&#x27; field in the Version resource.
       &quot;name&quot;: &quot;A String&quot;, # Required. registry_location, project_id, repository_name and image id forms a unique image name:`projects//locations//repository//dockerImages/`. For example, &quot;projects/test-project/locations/us-west4/repositories/test-repo/dockerImages/ nginx@sha256:e9954c1fc875017be1c3e36eca16be2d9e9bccc4bf072163515467d6a823c7cf&quot;, where &quot;us-west4&quot; is the registry_location, &quot;test-project&quot; is the project_id, &quot;test-repo&quot; is the repository_name and &quot;nginx@sha256:e9954c1fc875017be1c3e36eca16be2d9e9bccc4bf072163515467d6a823c7cf&quot; is the image&#x27;s digest.
       &quot;tags&quot;: [ # Tags attached to this image.
         &quot;A String&quot;,
diff --git a/docs/dyn/assuredworkloads_v1.organizations.locations.workloads.html b/docs/dyn/assuredworkloads_v1.organizations.locations.workloads.html
index cb391c7..cf6360f 100644
--- a/docs/dyn/assuredworkloads_v1.organizations.locations.workloads.html
+++ b/docs/dyn/assuredworkloads_v1.organizations.locations.workloads.html
@@ -127,6 +127,7 @@
   &quot;provisionedResourcesParent&quot;: &quot;A String&quot;, # Input only. The parent resource for the resources managed by this Assured Workload. May be either an organization or a folder. Must be the same or a child of the Workload parent. If not specified all resources are created under the Workload parent. Formats: folders/{folder_id} organizations/{organization_id}
   &quot;resourceSettings&quot;: [ # Input only. Resource properties that are used to customize workload resources. These properties (such as custom project id) will be used to create workload resources if possible. This field is optional.
     { # Represent the custom settings for the resources to be created.
+      &quot;displayName&quot;: &quot;A String&quot;, # User-assigned resource display name. If not empty it will be used to create a resource with the specified name.
       &quot;resourceId&quot;: &quot;A String&quot;, # Resource identifier. For a project this represents project_id. If the project is already taken, the workload creation will fail.
       &quot;resourceType&quot;: &quot;A String&quot;, # Indicates the type of resource. This field should be specified to correspond the id to the right project type (CONSUMER_PROJECT or ENCRYPTION_KEYS_PROJECT)
     },
@@ -219,6 +220,7 @@
   &quot;provisionedResourcesParent&quot;: &quot;A String&quot;, # Input only. The parent resource for the resources managed by this Assured Workload. May be either an organization or a folder. Must be the same or a child of the Workload parent. If not specified all resources are created under the Workload parent. Formats: folders/{folder_id} organizations/{organization_id}
   &quot;resourceSettings&quot;: [ # Input only. Resource properties that are used to customize workload resources. These properties (such as custom project id) will be used to create workload resources if possible. This field is optional.
     { # Represent the custom settings for the resources to be created.
+      &quot;displayName&quot;: &quot;A String&quot;, # User-assigned resource display name. If not empty it will be used to create a resource with the specified name.
       &quot;resourceId&quot;: &quot;A String&quot;, # Resource identifier. For a project this represents project_id. If the project is already taken, the workload creation will fail.
       &quot;resourceType&quot;: &quot;A String&quot;, # Indicates the type of resource. This field should be specified to correspond the id to the right project type (CONSUMER_PROJECT or ENCRYPTION_KEYS_PROJECT)
     },
@@ -269,6 +271,7 @@
       &quot;provisionedResourcesParent&quot;: &quot;A String&quot;, # Input only. The parent resource for the resources managed by this Assured Workload. May be either an organization or a folder. Must be the same or a child of the Workload parent. If not specified all resources are created under the Workload parent. Formats: folders/{folder_id} organizations/{organization_id}
       &quot;resourceSettings&quot;: [ # Input only. Resource properties that are used to customize workload resources. These properties (such as custom project id) will be used to create workload resources if possible. This field is optional.
         { # Represent the custom settings for the resources to be created.
+          &quot;displayName&quot;: &quot;A String&quot;, # User-assigned resource display name. If not empty it will be used to create a resource with the specified name.
           &quot;resourceId&quot;: &quot;A String&quot;, # Resource identifier. For a project this represents project_id. If the project is already taken, the workload creation will fail.
           &quot;resourceType&quot;: &quot;A String&quot;, # Indicates the type of resource. This field should be specified to correspond the id to the right project type (CONSUMER_PROJECT or ENCRYPTION_KEYS_PROJECT)
         },
@@ -324,6 +327,7 @@
   &quot;provisionedResourcesParent&quot;: &quot;A String&quot;, # Input only. The parent resource for the resources managed by this Assured Workload. May be either an organization or a folder. Must be the same or a child of the Workload parent. If not specified all resources are created under the Workload parent. Formats: folders/{folder_id} organizations/{organization_id}
   &quot;resourceSettings&quot;: [ # Input only. Resource properties that are used to customize workload resources. These properties (such as custom project id) will be used to create workload resources if possible. This field is optional.
     { # Represent the custom settings for the resources to be created.
+      &quot;displayName&quot;: &quot;A String&quot;, # User-assigned resource display name. If not empty it will be used to create a resource with the specified name.
       &quot;resourceId&quot;: &quot;A String&quot;, # Resource identifier. For a project this represents project_id. If the project is already taken, the workload creation will fail.
       &quot;resourceType&quot;: &quot;A String&quot;, # Indicates the type of resource. This field should be specified to correspond the id to the right project type (CONSUMER_PROJECT or ENCRYPTION_KEYS_PROJECT)
     },
@@ -362,6 +366,7 @@
   &quot;provisionedResourcesParent&quot;: &quot;A String&quot;, # Input only. The parent resource for the resources managed by this Assured Workload. May be either an organization or a folder. Must be the same or a child of the Workload parent. If not specified all resources are created under the Workload parent. Formats: folders/{folder_id} organizations/{organization_id}
   &quot;resourceSettings&quot;: [ # Input only. Resource properties that are used to customize workload resources. These properties (such as custom project id) will be used to create workload resources if possible. This field is optional.
     { # Represent the custom settings for the resources to be created.
+      &quot;displayName&quot;: &quot;A String&quot;, # User-assigned resource display name. If not empty it will be used to create a resource with the specified name.
       &quot;resourceId&quot;: &quot;A String&quot;, # Resource identifier. For a project this represents project_id. If the project is already taken, the workload creation will fail.
       &quot;resourceType&quot;: &quot;A String&quot;, # Indicates the type of resource. This field should be specified to correspond the id to the right project type (CONSUMER_PROJECT or ENCRYPTION_KEYS_PROJECT)
     },
diff --git a/docs/dyn/bigquery_v2.jobs.html b/docs/dyn/bigquery_v2.jobs.html
index 859d1f6..f0a0ffa 100644
--- a/docs/dyn/bigquery_v2.jobs.html
+++ b/docs/dyn/bigquery_v2.jobs.html
@@ -474,6 +474,11 @@
         &quot;billingTier&quot;: 42, # [Output-only] Billing tier for the job.
         &quot;cacheHit&quot;: True or False, # [Output-only] Whether the query result was fetched from the query cache.
         &quot;ddlAffectedRowAccessPolicyCount&quot;: &quot;A String&quot;, # [Output-only] [Preview] The number of row access policies affected by a DDL statement. Present only for DROP ALL ROW ACCESS POLICIES queries.
+        &quot;ddlDestinationTable&quot;: { # [Output-only] The DDL destination table. Present only for ALTER TABLE RENAME TO queries. Note that ddl_target_table is used just for its type information.
+          &quot;datasetId&quot;: &quot;A String&quot;, # [Required] The ID of the dataset containing this table.
+          &quot;projectId&quot;: &quot;A String&quot;, # [Required] The ID of the project containing this table.
+          &quot;tableId&quot;: &quot;A String&quot;, # [Required] The ID of the table. The ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_). The maximum length is 1,024 characters.
+        },
         &quot;ddlOperationPerformed&quot;: &quot;A String&quot;, # The DDL operation performed, possibly dependent on the pre-existence of the DDL target. Possible values (new values might be added in the future): &quot;CREATE&quot;: The query created the DDL target. &quot;SKIP&quot;: No-op. Example cases: the query is CREATE TABLE IF NOT EXISTS while the table already exists, or the query is DROP TABLE IF EXISTS while the table does not exist. &quot;REPLACE&quot;: The query replaced the DDL target. Example case: the query is CREATE OR REPLACE TABLE, and the table already exists. &quot;DROP&quot;: The query deleted the DDL target.
         &quot;ddlTargetDataset&quot;: { # [Output-only] The DDL target dataset. Present only for CREATE/ALTER/DROP SCHEMA queries.
           &quot;datasetId&quot;: &quot;A String&quot;, # [Required] A unique ID for this dataset, without the project name. The ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_). The maximum length is 1,024 characters.
@@ -1076,6 +1081,11 @@
       &quot;billingTier&quot;: 42, # [Output-only] Billing tier for the job.
       &quot;cacheHit&quot;: True or False, # [Output-only] Whether the query result was fetched from the query cache.
       &quot;ddlAffectedRowAccessPolicyCount&quot;: &quot;A String&quot;, # [Output-only] [Preview] The number of row access policies affected by a DDL statement. Present only for DROP ALL ROW ACCESS POLICIES queries.
+      &quot;ddlDestinationTable&quot;: { # [Output-only] The DDL destination table. Present only for ALTER TABLE RENAME TO queries. Note that ddl_target_table is used just for its type information.
+        &quot;datasetId&quot;: &quot;A String&quot;, # [Required] The ID of the dataset containing this table.
+        &quot;projectId&quot;: &quot;A String&quot;, # [Required] The ID of the project containing this table.
+        &quot;tableId&quot;: &quot;A String&quot;, # [Required] The ID of the table. The ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_). The maximum length is 1,024 characters.
+      },
       &quot;ddlOperationPerformed&quot;: &quot;A String&quot;, # The DDL operation performed, possibly dependent on the pre-existence of the DDL target. Possible values (new values might be added in the future): &quot;CREATE&quot;: The query created the DDL target. &quot;SKIP&quot;: No-op. Example cases: the query is CREATE TABLE IF NOT EXISTS while the table already exists, or the query is DROP TABLE IF EXISTS while the table does not exist. &quot;REPLACE&quot;: The query replaced the DDL target. Example case: the query is CREATE OR REPLACE TABLE, and the table already exists. &quot;DROP&quot;: The query deleted the DDL target.
       &quot;ddlTargetDataset&quot;: { # [Output-only] The DDL target dataset. Present only for CREATE/ALTER/DROP SCHEMA queries.
         &quot;datasetId&quot;: &quot;A String&quot;, # [Required] A unique ID for this dataset, without the project name. The ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_). The maximum length is 1,024 characters.
@@ -1747,6 +1757,11 @@
       &quot;billingTier&quot;: 42, # [Output-only] Billing tier for the job.
       &quot;cacheHit&quot;: True or False, # [Output-only] Whether the query result was fetched from the query cache.
       &quot;ddlAffectedRowAccessPolicyCount&quot;: &quot;A String&quot;, # [Output-only] [Preview] The number of row access policies affected by a DDL statement. Present only for DROP ALL ROW ACCESS POLICIES queries.
+      &quot;ddlDestinationTable&quot;: { # [Output-only] The DDL destination table. Present only for ALTER TABLE RENAME TO queries. Note that ddl_target_table is used just for its type information.
+        &quot;datasetId&quot;: &quot;A String&quot;, # [Required] The ID of the dataset containing this table.
+        &quot;projectId&quot;: &quot;A String&quot;, # [Required] The ID of the project containing this table.
+        &quot;tableId&quot;: &quot;A String&quot;, # [Required] The ID of the table. The ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_). The maximum length is 1,024 characters.
+      },
       &quot;ddlOperationPerformed&quot;: &quot;A String&quot;, # The DDL operation performed, possibly dependent on the pre-existence of the DDL target. Possible values (new values might be added in the future): &quot;CREATE&quot;: The query created the DDL target. &quot;SKIP&quot;: No-op. Example cases: the query is CREATE TABLE IF NOT EXISTS while the table already exists, or the query is DROP TABLE IF EXISTS while the table does not exist. &quot;REPLACE&quot;: The query replaced the DDL target. Example case: the query is CREATE OR REPLACE TABLE, and the table already exists. &quot;DROP&quot;: The query deleted the DDL target.
       &quot;ddlTargetDataset&quot;: { # [Output-only] The DDL target dataset. Present only for CREATE/ALTER/DROP SCHEMA queries.
         &quot;datasetId&quot;: &quot;A String&quot;, # [Required] A unique ID for this dataset, without the project name. The ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_). The maximum length is 1,024 characters.
@@ -2324,6 +2339,11 @@
       &quot;billingTier&quot;: 42, # [Output-only] Billing tier for the job.
       &quot;cacheHit&quot;: True or False, # [Output-only] Whether the query result was fetched from the query cache.
       &quot;ddlAffectedRowAccessPolicyCount&quot;: &quot;A String&quot;, # [Output-only] [Preview] The number of row access policies affected by a DDL statement. Present only for DROP ALL ROW ACCESS POLICIES queries.
+      &quot;ddlDestinationTable&quot;: { # [Output-only] The DDL destination table. Present only for ALTER TABLE RENAME TO queries. Note that ddl_target_table is used just for its type information.
+        &quot;datasetId&quot;: &quot;A String&quot;, # [Required] The ID of the dataset containing this table.
+        &quot;projectId&quot;: &quot;A String&quot;, # [Required] The ID of the project containing this table.
+        &quot;tableId&quot;: &quot;A String&quot;, # [Required] The ID of the table. The ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_). The maximum length is 1,024 characters.
+      },
       &quot;ddlOperationPerformed&quot;: &quot;A String&quot;, # The DDL operation performed, possibly dependent on the pre-existence of the DDL target. Possible values (new values might be added in the future): &quot;CREATE&quot;: The query created the DDL target. &quot;SKIP&quot;: No-op. Example cases: the query is CREATE TABLE IF NOT EXISTS while the table already exists, or the query is DROP TABLE IF EXISTS while the table does not exist. &quot;REPLACE&quot;: The query replaced the DDL target. Example case: the query is CREATE OR REPLACE TABLE, and the table already exists. &quot;DROP&quot;: The query deleted the DDL target.
       &quot;ddlTargetDataset&quot;: { # [Output-only] The DDL target dataset. Present only for CREATE/ALTER/DROP SCHEMA queries.
         &quot;datasetId&quot;: &quot;A String&quot;, # [Required] A unique ID for this dataset, without the project name. The ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_). The maximum length is 1,024 characters.
@@ -2929,6 +2949,11 @@
           &quot;billingTier&quot;: 42, # [Output-only] Billing tier for the job.
           &quot;cacheHit&quot;: True or False, # [Output-only] Whether the query result was fetched from the query cache.
           &quot;ddlAffectedRowAccessPolicyCount&quot;: &quot;A String&quot;, # [Output-only] [Preview] The number of row access policies affected by a DDL statement. Present only for DROP ALL ROW ACCESS POLICIES queries.
+          &quot;ddlDestinationTable&quot;: { # [Output-only] The DDL destination table. Present only for ALTER TABLE RENAME TO queries. Note that ddl_target_table is used just for its type information.
+            &quot;datasetId&quot;: &quot;A String&quot;, # [Required] The ID of the dataset containing this table.
+            &quot;projectId&quot;: &quot;A String&quot;, # [Required] The ID of the project containing this table.
+            &quot;tableId&quot;: &quot;A String&quot;, # [Required] The ID of the table. The ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_). The maximum length is 1,024 characters.
+          },
           &quot;ddlOperationPerformed&quot;: &quot;A String&quot;, # The DDL operation performed, possibly dependent on the pre-existence of the DDL target. Possible values (new values might be added in the future): &quot;CREATE&quot;: The query created the DDL target. &quot;SKIP&quot;: No-op. Example cases: the query is CREATE TABLE IF NOT EXISTS while the table already exists, or the query is DROP TABLE IF EXISTS while the table does not exist. &quot;REPLACE&quot;: The query replaced the DDL target. Example case: the query is CREATE OR REPLACE TABLE, and the table already exists. &quot;DROP&quot;: The query deleted the DDL target.
           &quot;ddlTargetDataset&quot;: { # [Output-only] The DDL target dataset. Present only for CREATE/ALTER/DROP SCHEMA queries.
             &quot;datasetId&quot;: &quot;A String&quot;, # [Required] A unique ID for this dataset, without the project name. The ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_). The maximum length is 1,024 characters.
diff --git a/docs/dyn/chromemanagement_v1.customers.reports.html b/docs/dyn/chromemanagement_v1.customers.reports.html
index 6ea8279..644e194 100644
--- a/docs/dyn/chromemanagement_v1.customers.reports.html
+++ b/docs/dyn/chromemanagement_v1.customers.reports.html
@@ -110,7 +110,7 @@
   filter: string, Query string to filter results, AND-separated fields in EBNF syntax. Note: OR operations are not supported in this filter. Supported filter fields: * last_active_date
   orgUnitId: string, The ID of the organizational unit.
   pageSize: integer, Maximum number of results to return. Maximum and default are 100.
-  pageToken: string, Token to specify the next page in the list.
+  pageToken: string, Token to specify the page of the request to be returned.
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -129,7 +129,7 @@
       &quot;version&quot;: &quot;A String&quot;, # Output only. The full version of the installed browser.
     },
   ],
-  &quot;nextPageToken&quot;: &quot;A String&quot;, # Token to specify the next page in the list.
+  &quot;nextPageToken&quot;: &quot;A String&quot;, # Token to specify the next page of the request.
   &quot;totalSize&quot;: 42, # Total number browser versions matching request.
 }</pre>
 </div>
@@ -158,7 +158,7 @@
   orderBy: string, Field used to order results. Supported order by fields: * app_name * app_type * install_type * number_of_permissions * total_install_count
   orgUnitId: string, The ID of the organizational unit.
   pageSize: integer, Maximum number of results to return. Maximum and default are 100.
-  pageToken: string, Token to specify next page in the list.
+  pageToken: string, Token to specify the page of the request to be returned.
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -185,7 +185,7 @@
       ],
     },
   ],
-  &quot;nextPageToken&quot;: &quot;A String&quot;, # Token to specify next page in the list.
+  &quot;nextPageToken&quot;: &quot;A String&quot;, # Token to specify the next page of the request.
   &quot;totalSize&quot;: 42, # Total number of installed apps matching request.
 }</pre>
 </div>
@@ -223,7 +223,7 @@
   orderBy: string, Field used to order results. Supported order by fields: * machine * device_id
   orgUnitId: string, The ID of the organizational unit.
   pageSize: integer, Maximum number of results to return. Maximum and default are 100.
-  pageToken: string, Token to specify the next page in the list.
+  pageToken: string, Token to specify the page of the request to be returned.
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -239,7 +239,7 @@
       &quot;machine&quot;: &quot;A String&quot;, # Output only. The name of the machine within its local network.
     },
   ],
-  &quot;nextPageToken&quot;: &quot;A String&quot;, # Token to specify the next page in the list.
+  &quot;nextPageToken&quot;: &quot;A String&quot;, # Token to specify the next page of the request.
   &quot;totalSize&quot;: 42, # Total number of devices matching request.
 }</pre>
 </div>
diff --git a/docs/dyn/cloudasset_v1.assets.html b/docs/dyn/cloudasset_v1.assets.html
new file mode 100644
index 0000000..5a5e170
--- /dev/null
+++ b/docs/dyn/cloudasset_v1.assets.html
@@ -0,0 +1,567 @@
+<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="cloudasset_v1.html">Cloud Asset API</a> . <a href="cloudasset_v1.assets.html">assets</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#close">close()</a></code></p>
+<p class="firstline">Close httplib2 connections.</p>
+<p class="toc_element">
+  <code><a href="#list">list(parent, assetTypes=None, contentType=None, pageSize=None, pageToken=None, readTime=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Lists assets with time and resource types and returns paged results in response.</p>
+<p class="toc_element">
+  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
+<p class="firstline">Retrieves the next page of results.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="close">close()</code>
+  <pre>Close httplib2 connections.</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(parent, assetTypes=None, contentType=None, pageSize=None, pageToken=None, readTime=None, x__xgafv=None)</code>
+  <pre>Lists assets with time and resource types and returns paged results in response.
+
+Args:
+  parent: string, Required. Name of the organization or project the assets belong to. Format: &quot;organizations/[organization-number]&quot; (such as &quot;organizations/123&quot;), &quot;projects/[project-number]&quot; (such as &quot;projects/my-project-id&quot;), or &quot;projects/[project-id]&quot; (such as &quot;projects/12345&quot;). (required)
+  assetTypes: string, A list of asset types to take a snapshot for. For example: &quot;compute.googleapis.com/Disk&quot;. Regular expression is also supported. For example: * &quot;compute.googleapis.com.*&quot; snapshots resources whose asset type starts with &quot;compute.googleapis.com&quot;. * &quot;.*Instance&quot; snapshots resources whose asset type ends with &quot;Instance&quot;. * &quot;.*Instance.*&quot; snapshots resources whose asset type contains &quot;Instance&quot;. See [RE2](https://github.com/google/re2/wiki/Syntax) for all supported regular expression syntax. If the regular expression does not match any supported asset type, an INVALID_ARGUMENT error will be returned. If specified, only matching assets will be returned, otherwise, it will snapshot all asset types. See [Introduction to Cloud Asset Inventory](https://cloud.google.com/asset-inventory/docs/overview) for all supported asset types. (repeated)
+  contentType: string, Asset content type. If not specified, no content but the asset name will be returned.
+    Allowed values
+      CONTENT_TYPE_UNSPECIFIED - Unspecified content type.
+      RESOURCE - Resource metadata.
+      IAM_POLICY - The actual IAM policy set on a resource.
+      ORG_POLICY - The Cloud Organization Policy set on an asset.
+      ACCESS_POLICY - The Cloud Access context manager Policy set on an asset.
+      OS_INVENTORY - The runtime OS Inventory information.
+  pageSize: integer, The maximum number of assets to be returned in a single response. Default is 100, minimum is 1, and maximum is 1000.
+  pageToken: string, The `next_page_token` returned from the previous `ListAssetsResponse`, or unspecified for the first `ListAssetsRequest`. It is a continuation of a prior `ListAssets` call, and the API should return the next page of assets.
+  readTime: string, Timestamp to take an asset snapshot. This can only be set to a timestamp between the current time and the current time minus 35 days (inclusive). If not specified, the current time will be used. Due to delays in resource data collection and indexing, there is a volatile window during which running the same query may get different results.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # ListAssets response.
+  &quot;assets&quot;: [ # Assets.
+    { # An asset in Google Cloud. An asset can be any resource in the Google Cloud [resource hierarchy](https://cloud.google.com/resource-manager/docs/cloud-platform-resource-hierarchy), a resource outside the Google Cloud resource hierarchy (such as Google Kubernetes Engine clusters and objects), or a policy (e.g. Cloud IAM policy), or a relationship (e.g. an INSTANCE_TO_INSTANCEGROUP relationship). See [Supported asset types](https://cloud.google.com/asset-inventory/docs/supported-asset-types) for more information.
+      &quot;accessLevel&quot;: { # An `AccessLevel` is a label that can be applied to requests to Google Cloud services, along with a list of requirements necessary for the label to be applied. # Please also refer to the [access level user guide](https://cloud.google.com/access-context-manager/docs/overview#access-levels).
+        &quot;basic&quot;: { # `BasicLevel` is an `AccessLevel` using a set of recommended features. # A `BasicLevel` composed of `Conditions`.
+          &quot;combiningFunction&quot;: &quot;A String&quot;, # How the `conditions` list should be combined to determine if a request is granted this `AccessLevel`. If AND is used, each `Condition` in `conditions` must be satisfied for the `AccessLevel` to be applied. If OR is used, at least one `Condition` in `conditions` must be satisfied for the `AccessLevel` to be applied. Default behavior is AND.
+          &quot;conditions&quot;: [ # Required. A list of requirements for the `AccessLevel` to be granted.
+            { # A condition necessary for an `AccessLevel` to be granted. The Condition is an AND over its fields. So a Condition is true if: 1) the request IP is from one of the listed subnetworks AND 2) the originating device complies with the listed device policy AND 3) all listed access levels are granted AND 4) the request was sent at a time allowed by the DateTimeRestriction.
+              &quot;devicePolicy&quot;: { # `DevicePolicy` specifies device specific restrictions necessary to acquire a given access level. A `DevicePolicy` specifies requirements for requests from devices to be granted access levels, it does not do any enforcement on the device. `DevicePolicy` acts as an AND over all specified fields, and each repeated field is an OR over its elements. Any unset fields are ignored. For example, if the proto is { os_type : DESKTOP_WINDOWS, os_type : DESKTOP_LINUX, encryption_status: ENCRYPTED}, then the DevicePolicy will be true for requests originating from encrypted Linux desktops and encrypted Windows desktops. # Device specific restrictions, all restrictions must hold for the Condition to be true. If not specified, all devices are allowed.
+                &quot;allowedDeviceManagementLevels&quot;: [ # Allowed device management levels, an empty list allows all management levels.
+                  &quot;A String&quot;,
+                ],
+                &quot;allowedEncryptionStatuses&quot;: [ # Allowed encryptions statuses, an empty list allows all statuses.
+                  &quot;A String&quot;,
+                ],
+                &quot;osConstraints&quot;: [ # Allowed OS versions, an empty list allows all types and all versions.
+                  { # A restriction on the OS type and version of devices making requests.
+                    &quot;minimumVersion&quot;: &quot;A String&quot;, # The minimum allowed OS version. If not set, any version of this OS satisfies the constraint. Format: `&quot;major.minor.patch&quot;`. Examples: `&quot;10.5.301&quot;`, `&quot;9.2.1&quot;`.
+                    &quot;osType&quot;: &quot;A String&quot;, # Required. The allowed OS type.
+                    &quot;requireVerifiedChromeOs&quot;: True or False, # Only allows requests from devices with a verified Chrome OS. Verifications includes requirements that the device is enterprise-managed, conformant to domain policies, and the caller has permission to call the API targeted by the request.
+                  },
+                ],
+                &quot;requireAdminApproval&quot;: True or False, # Whether the device needs to be approved by the customer admin.
+                &quot;requireCorpOwned&quot;: True or False, # Whether the device needs to be corp owned.
+                &quot;requireScreenlock&quot;: True or False, # Whether or not screenlock is required for the DevicePolicy to be true. Defaults to `false`.
+              },
+              &quot;ipSubnetworks&quot;: [ # CIDR block IP subnetwork specification. May be IPv4 or IPv6. Note that for a CIDR IP address block, the specified IP address portion must be properly truncated (i.e. all the host bits must be zero) or the input is considered malformed. For example, &quot;192.0.2.0/24&quot; is accepted but &quot;192.0.2.1/24&quot; is not. Similarly, for IPv6, &quot;2001:db8::/32&quot; is accepted whereas &quot;2001:db8::1/32&quot; is not. The originating IP of a request must be in one of the listed subnets in order for this Condition to be true. If empty, all IP addresses are allowed.
+                &quot;A String&quot;,
+              ],
+              &quot;members&quot;: [ # The request must be made by one of the provided user or service accounts. Groups are not supported. Syntax: `user:{emailid}` `serviceAccount:{emailid}` If not specified, a request may come from any user.
+                &quot;A String&quot;,
+              ],
+              &quot;negate&quot;: True or False, # Whether to negate the Condition. If true, the Condition becomes a NAND over its non-empty fields, each field must be false for the Condition overall to be satisfied. Defaults to false.
+              &quot;regions&quot;: [ # The request must originate from one of the provided countries/regions. Must be valid ISO 3166-1 alpha-2 codes.
+                &quot;A String&quot;,
+              ],
+              &quot;requiredAccessLevels&quot;: [ # A list of other access levels defined in the same `Policy`, referenced by resource name. Referencing an `AccessLevel` which does not exist is an error. All access levels listed must be granted for the Condition to be true. Example: &quot;`accessPolicies/MY_POLICY/accessLevels/LEVEL_NAME&quot;`
+                &quot;A String&quot;,
+              ],
+            },
+          ],
+        },
+        &quot;custom&quot;: { # `CustomLevel` is an `AccessLevel` using the Cloud Common Expression Language to represent the necessary conditions for the level to apply to a request. See CEL spec at: https://github.com/google/cel-spec # A `CustomLevel` written in the Common Expression Language.
+          &quot;expr&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. # Required. A Cloud CEL expression evaluating to a boolean.
+            &quot;description&quot;: &quot;A String&quot;, # Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.
+            &quot;expression&quot;: &quot;A String&quot;, # Textual representation of an expression in Common Expression Language syntax.
+            &quot;location&quot;: &quot;A String&quot;, # Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file.
+            &quot;title&quot;: &quot;A String&quot;, # Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression.
+          },
+        },
+        &quot;description&quot;: &quot;A String&quot;, # Description of the `AccessLevel` and its use. Does not affect behavior.
+        &quot;name&quot;: &quot;A String&quot;, # Required. Resource name for the Access Level. The `short_name` component must begin with a letter and only include alphanumeric and &#x27;_&#x27;. Format: `accessPolicies/{policy_id}/accessLevels/{short_name}`. The maximum length of the `short_name` component is 50 characters.
+        &quot;title&quot;: &quot;A String&quot;, # Human readable title. Must be unique within the Policy.
+      },
+      &quot;accessPolicy&quot;: { # `AccessPolicy` is a container for `AccessLevels` (which define the necessary attributes to use Google Cloud services) and `ServicePerimeters` (which define regions of services able to freely pass data within a perimeter). An access policy is globally visible within an organization, and the restrictions it specifies apply to all projects within an organization. # Please also refer to the [access policy user guide](https://cloud.google.com/access-context-manager/docs/overview#access-policies).
+        &quot;etag&quot;: &quot;A String&quot;, # Output only. An opaque identifier for the current version of the `AccessPolicy`. This will always be a strongly validated etag, meaning that two Access Polices will be identical if and only if their etags are identical. Clients should not expect this to be in any specific format.
+        &quot;name&quot;: &quot;A String&quot;, # Output only. Resource name of the `AccessPolicy`. Format: `accessPolicies/{policy_id}`
+        &quot;parent&quot;: &quot;A String&quot;, # Required. The parent of this `AccessPolicy` in the Cloud Resource Hierarchy. Currently immutable once created. Format: `organizations/{organization_id}`
+        &quot;title&quot;: &quot;A String&quot;, # Required. Human readable title. Does not affect behavior.
+      },
+      &quot;ancestors&quot;: [ # The ancestry path of an asset in Google Cloud [resource hierarchy](https://cloud.google.com/resource-manager/docs/cloud-platform-resource-hierarchy), represented as a list of relative resource names. An ancestry path starts with the closest ancestor in the hierarchy and ends at root. If the asset is a project, folder, or organization, the ancestry path starts from the asset itself. Example: `[&quot;projects/123456789&quot;, &quot;folders/5432&quot;, &quot;organizations/1234&quot;]`
+        &quot;A String&quot;,
+      ],
+      &quot;assetType&quot;: &quot;A String&quot;, # The type of the asset. Example: `compute.googleapis.com/Disk` See [Supported asset types](https://cloud.google.com/asset-inventory/docs/supported-asset-types) for more information.
+      &quot;iamPolicy&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/). # A representation of the Cloud IAM policy set on a Google Cloud resource. There can be a maximum of one Cloud IAM policy set on any given resource. In addition, Cloud IAM policies inherit their granted access scope from any policies set on parent resources in the resource hierarchy. Therefore, the effectively policy is the union of both the policy set on this resource and each policy set on all of the resource&#x27;s ancestry resource levels in the hierarchy. See [this topic](https://cloud.google.com/iam/docs/policies#inheritance) for more information.
+        &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.
+              { # Provides the configuration for logging a type of permissions. Example: { &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; } ] } This enables &#x27;DATA_READ&#x27; and &#x27;DATA_WRITE&#x27; logging, while exempting jose@example.com from DATA_READ logging.
+                &quot;exemptedMembers&quot;: [ # Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members.
+                  &quot;A String&quot;,
+                ],
+                &quot;logType&quot;: &quot;A String&quot;, # The log type that this config enables.
+              },
+            ],
+            &quot;service&quot;: &quot;A String&quot;, # Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services.
+          },
+        ],
+        &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).
+              &quot;description&quot;: &quot;A String&quot;, # Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.
+              &quot;expression&quot;: &quot;A String&quot;, # Textual representation of an expression in Common Expression Language syntax.
+              &quot;location&quot;: &quot;A String&quot;, # Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file.
+              &quot;title&quot;: &quot;A String&quot;, # Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression.
+            },
+            &quot;members&quot;: [ # Specifies the identities requesting access for a Cloud Platform resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`.
+              &quot;A String&quot;,
+            ],
+            &quot;role&quot;: &quot;A String&quot;, # Role that is assigned to `members`. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
+          },
+        ],
+        &quot;etag&quot;: &quot;A String&quot;, # `etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost.
+        &quot;version&quot;: 42, # Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
+      },
+      &quot;name&quot;: &quot;A String&quot;, # The full name of the asset. Example: `//compute.googleapis.com/projects/my_project_123/zones/zone1/instances/instance1` See [Resource names](https://cloud.google.com/apis/design/resource_names#full_resource_name) for more information.
+      &quot;orgPolicy&quot;: [ # A representation of an [organization policy](https://cloud.google.com/resource-manager/docs/organization-policy/overview#organization_policy). There can be more than one organization policy with different constraints set on a given resource.
+        { # Defines a Cloud Organization `Policy` which is used to specify `Constraints` for configurations of Cloud Platform resources.
+          &quot;booleanPolicy&quot;: { # Used in `policy_type` to specify how `boolean_policy` will behave at this resource. # For boolean `Constraints`, whether to enforce the `Constraint` or not.
+            &quot;enforced&quot;: True or False, # If `true`, then the `Policy` is enforced. If `false`, then any configuration is acceptable. Suppose you have a `Constraint` `constraints/compute.disableSerialPortAccess` with `constraint_default` set to `ALLOW`. A `Policy` for that `Constraint` exhibits the following behavior: - If the `Policy` at this resource has enforced set to `false`, serial port connection attempts will be allowed. - If the `Policy` at this resource has enforced set to `true`, serial port connection attempts will be refused. - If the `Policy` at this resource is `RestoreDefault`, serial port connection attempts will be allowed. - If no `Policy` is set at this resource or anywhere higher in the resource hierarchy, serial port connection attempts will be allowed. - If no `Policy` is set at this resource, but one exists higher in the resource hierarchy, the behavior is as if the`Policy` were set at this resource. The following examples demonstrate the different possible layerings: Example 1 (nearest `Constraint` wins): `organizations/foo` has a `Policy` with: {enforced: false} `projects/bar` has no `Policy` set. The constraint at `projects/bar` and `organizations/foo` will not be enforced. Example 2 (enforcement gets replaced): `organizations/foo` has a `Policy` with: {enforced: false} `projects/bar` has a `Policy` with: {enforced: true} The constraint at `organizations/foo` is not enforced. The constraint at `projects/bar` is enforced. Example 3 (RestoreDefault): `organizations/foo` has a `Policy` with: {enforced: true} `projects/bar` has a `Policy` with: {RestoreDefault: {}} The constraint at `organizations/foo` is enforced. The constraint at `projects/bar` is not enforced, because `constraint_default` for the `Constraint` is `ALLOW`.
+          },
+          &quot;constraint&quot;: &quot;A String&quot;, # The name of the `Constraint` the `Policy` is configuring, for example, `constraints/serviceuser.services`. A [list of available constraints](/resource-manager/docs/organization-policy/org-policy-constraints) is available. Immutable after creation.
+          &quot;etag&quot;: &quot;A String&quot;, # An opaque tag indicating the current version of the `Policy`, used for concurrency control. When the `Policy` is returned from either a `GetPolicy` or a `ListOrgPolicy` request, this `etag` indicates the version of the current `Policy` to use when executing a read-modify-write loop. When the `Policy` is returned from a `GetEffectivePolicy` request, the `etag` will be unset. When the `Policy` is used in a `SetOrgPolicy` method, use the `etag` value that was returned from a `GetOrgPolicy` request as part of a read-modify-write loop for concurrency control. Not setting the `etag`in a `SetOrgPolicy` request will result in an unconditional write of the `Policy`.
+          &quot;listPolicy&quot;: { # Used in `policy_type` to specify how `list_policy` behaves at this resource. `ListPolicy` can define specific values and subtrees of Cloud Resource Manager resource hierarchy (`Organizations`, `Folders`, `Projects`) that are allowed or denied by setting the `allowed_values` and `denied_values` fields. This is achieved by using the `under:` and optional `is:` prefixes. The `under:` prefix is used to denote resource subtree values. The `is:` prefix is used to denote specific values, and is required only if the value contains a &quot;:&quot;. Values prefixed with &quot;is:&quot; are treated the same as values with no prefix. Ancestry subtrees must be in one of the following formats: - &quot;projects/&quot;, e.g. &quot;projects/tokyo-rain-123&quot; - &quot;folders/&quot;, e.g. &quot;folders/1234&quot; - &quot;organizations/&quot;, e.g. &quot;organizations/1234&quot; The `supports_under` field of the associated `Constraint` defines whether ancestry prefixes can be used. You can set `allowed_values` and `denied_values` in the same `Policy` if `all_values` is `ALL_VALUES_UNSPECIFIED`. `ALLOW` or `DENY` are used to allow or deny all values. If `all_values` is set to either `ALLOW` or `DENY`, `allowed_values` and `denied_values` must be unset. # List of values either allowed or disallowed.
+            &quot;allValues&quot;: &quot;A String&quot;, # The policy all_values state.
+            &quot;allowedValues&quot;: [ # List of values allowed at this resource. Can only be set if `all_values` is set to `ALL_VALUES_UNSPECIFIED`.
+              &quot;A String&quot;,
+            ],
+            &quot;deniedValues&quot;: [ # List of values denied at this resource. Can only be set if `all_values` is set to `ALL_VALUES_UNSPECIFIED`.
+              &quot;A String&quot;,
+            ],
+            &quot;inheritFromParent&quot;: True or False, # Determines the inheritance behavior for this `Policy`. By default, a `ListPolicy` set at a resource supersedes any `Policy` set anywhere up the resource hierarchy. However, if `inherit_from_parent` is set to `true`, then the values from the effective `Policy` of the parent resource are inherited, meaning the values set in this `Policy` are added to the values inherited up the hierarchy. Setting `Policy` hierarchies that inherit both allowed values and denied values isn&#x27;t recommended in most circumstances to keep the configuration simple and understandable. However, it is possible to set a `Policy` with `allowed_values` set that inherits a `Policy` with `denied_values` set. In this case, the values that are allowed must be in `allowed_values` and not present in `denied_values`. For example, suppose you have a `Constraint` `constraints/serviceuser.services`, which has a `constraint_type` of `list_constraint`, and with `constraint_default` set to `ALLOW`. Suppose that at the Organization level, a `Policy` is applied that restricts the allowed API activations to {`E1`, `E2`}. Then, if a `Policy` is applied to a project below the Organization that has `inherit_from_parent` set to `false` and field all_values set to DENY, then an attempt to activate any API will be denied. The following examples demonstrate different possible layerings for `projects/bar` parented by `organizations/foo`: Example 1 (no inherited values): `organizations/foo` has a `Policy` with values: {allowed_values: &quot;E1&quot; allowed_values:&quot;E2&quot;} `projects/bar` has `inherit_from_parent` `false` and values: {allowed_values: &quot;E3&quot; allowed_values: &quot;E4&quot;} The accepted values at `organizations/foo` are `E1`, `E2`. The accepted values at `projects/bar` are `E3`, and `E4`. Example 2 (inherited values): `organizations/foo` has a `Policy` with values: {allowed_values: &quot;E1&quot; allowed_values:&quot;E2&quot;} `projects/bar` has a `Policy` with values: {value: &quot;E3&quot; value: &quot;E4&quot; inherit_from_parent: true} The accepted values at `organizations/foo` are `E1`, `E2`. The accepted values at `projects/bar` are `E1`, `E2`, `E3`, and `E4`. Example 3 (inheriting both allowed and denied values): `organizations/foo` has a `Policy` with values: {allowed_values: &quot;E1&quot; allowed_values: &quot;E2&quot;} `projects/bar` has a `Policy` with: {denied_values: &quot;E1&quot;} The accepted values at `organizations/foo` are `E1`, `E2`. The value accepted at `projects/bar` is `E2`. Example 4 (RestoreDefault): `organizations/foo` has a `Policy` with values: {allowed_values: &quot;E1&quot; allowed_values:&quot;E2&quot;} `projects/bar` has a `Policy` with values: {RestoreDefault: {}} The accepted values at `organizations/foo` are `E1`, `E2`. The accepted values at `projects/bar` are either all or none depending on the value of `constraint_default` (if `ALLOW`, all; if `DENY`, none). Example 5 (no policy inherits parent policy): `organizations/foo` has no `Policy` set. `projects/bar` has no `Policy` set. The accepted values at both levels are either all or none depending on the value of `constraint_default` (if `ALLOW`, all; if `DENY`, none). Example 6 (ListConstraint allowing all): `organizations/foo` has a `Policy` with values: {allowed_values: &quot;E1&quot; allowed_values: &quot;E2&quot;} `projects/bar` has a `Policy` with: {all: ALLOW} The accepted values at `organizations/foo` are `E1`, E2`. Any value is accepted at `projects/bar`. Example 7 (ListConstraint allowing none): `organizations/foo` has a `Policy` with values: {allowed_values: &quot;E1&quot; allowed_values: &quot;E2&quot;} `projects/bar` has a `Policy` with: {all: DENY} The accepted values at `organizations/foo` are `E1`, E2`. No value is accepted at `projects/bar`. Example 10 (allowed and denied subtrees of Resource Manager hierarchy): Given the following resource hierarchy O1-&gt;{F1, F2}; F1-&gt;{P1}; F2-&gt;{P2, P3}, `organizations/foo` has a `Policy` with values: {allowed_values: &quot;under:organizations/O1&quot;} `projects/bar` has a `Policy` with: {allowed_values: &quot;under:projects/P3&quot;} {denied_values: &quot;under:folders/F2&quot;} The accepted values at `organizations/foo` are `organizations/O1`, `folders/F1`, `folders/F2`, `projects/P1`, `projects/P2`, `projects/P3`. The accepted values at `projects/bar` are `organizations/O1`, `folders/F1`, `projects/P1`.
+            &quot;suggestedValue&quot;: &quot;A String&quot;, # Optional. The Google Cloud Console will try to default to a configuration that matches the value specified in this `Policy`. If `suggested_value` is not set, it will inherit the value specified higher in the hierarchy, unless `inherit_from_parent` is `false`.
+          },
+          &quot;restoreDefault&quot;: { # Ignores policies set above this resource and restores the `constraint_default` enforcement behavior of the specific `Constraint` at this resource. Suppose that `constraint_default` is set to `ALLOW` for the `Constraint` `constraints/serviceuser.services`. Suppose that organization foo.com sets a `Policy` at their Organization resource node that restricts the allowed service activations to deny all service activations. They could then set a `Policy` with the `policy_type` `restore_default` on several experimental projects, restoring the `constraint_default` enforcement of the `Constraint` for only those projects, allowing those projects to have all services activated. # Restores the default behavior of the constraint; independent of `Constraint` type.
+          },
+          &quot;updateTime&quot;: &quot;A String&quot;, # The time stamp the `Policy` was previously updated. This is set by the server, not specified by the caller, and represents the last time a call to `SetOrgPolicy` was made for that `Policy`. Any value set by the client will be ignored.
+          &quot;version&quot;: 42, # Version of the `Policy`. Default version is 0;
+        },
+      ],
+      &quot;osInventory&quot;: { # The inventory details of a VM. # A representation of runtime OS Inventory information. See [this topic](https://cloud.google.com/compute/docs/instances/os-inventory-management) for more information.
+        &quot;items&quot;: { # Inventory items related to the VM keyed by an opaque unique identifier for each inventory item. The identifier is unique to each distinct and addressable inventory item and will change, when there is a new package version.
+          &quot;a_key&quot;: { # A single piece of inventory on a VM.
+            &quot;availablePackage&quot;: { # Software package information of the operating system. # Software package available to be installed on the VM instance.
+              &quot;aptPackage&quot;: { # Information related to the a standard versioned package. This includes package info for APT, Yum, Zypper, and Googet package managers. # Details of an APT package. For details about the apt package manager, see https://wiki.debian.org/Apt.
+                &quot;architecture&quot;: &quot;A String&quot;, # The system architecture this package is intended for.
+                &quot;packageName&quot;: &quot;A String&quot;, # The name of the package.
+                &quot;version&quot;: &quot;A String&quot;, # The version of the package.
+              },
+              &quot;cosPackage&quot;: { # Information related to the a standard versioned package. This includes package info for APT, Yum, Zypper, and Googet package managers. # Details of a COS package.
+                &quot;architecture&quot;: &quot;A String&quot;, # The system architecture this package is intended for.
+                &quot;packageName&quot;: &quot;A String&quot;, # The name of the package.
+                &quot;version&quot;: &quot;A String&quot;, # The version of the package.
+              },
+              &quot;googetPackage&quot;: { # Information related to the a standard versioned package. This includes package info for APT, Yum, Zypper, and Googet package managers. # Details of a Googet package. For details about the googet package manager, see https://github.com/google/googet.
+                &quot;architecture&quot;: &quot;A String&quot;, # The system architecture this package is intended for.
+                &quot;packageName&quot;: &quot;A String&quot;, # The name of the package.
+                &quot;version&quot;: &quot;A String&quot;, # The version of the package.
+              },
+              &quot;qfePackage&quot;: { # Information related to a Quick Fix Engineering package. Fields are taken from Windows QuickFixEngineering Interface and match the source names: https://docs.microsoft.com/en-us/windows/win32/cimwin32prov/win32-quickfixengineering # Details of a Windows Quick Fix engineering package. See https://docs.microsoft.com/en-us/windows/win32/cimwin32prov/win32-quickfixengineering for info in Windows Quick Fix Engineering.
+                &quot;caption&quot;: &quot;A String&quot;, # A short textual description of the QFE update.
+                &quot;description&quot;: &quot;A String&quot;, # A textual description of the QFE update.
+                &quot;hotFixId&quot;: &quot;A String&quot;, # Unique identifier associated with a particular QFE update.
+                &quot;installTime&quot;: &quot;A String&quot;, # Date that the QFE update was installed. Mapped from installed_on field.
+              },
+              &quot;wuaPackage&quot;: { # Details related to a Windows Update package. Field data and names are taken from Windows Update API IUpdate Interface: https://docs.microsoft.com/en-us/windows/win32/api/_wua/ Descriptive fields like title, and description are localized based on the locale of the VM being updated. # Details of a Windows Update package. See https://docs.microsoft.com/en-us/windows/win32/api/_wua/ for information about Windows Update.
+                &quot;categories&quot;: [ # The categories that are associated with this update package.
+                  { # Categories specified by the Windows Update.
+                    &quot;id&quot;: &quot;A String&quot;, # The identifier of the windows update category.
+                    &quot;name&quot;: &quot;A String&quot;, # The name of the windows update category.
+                  },
+                ],
+                &quot;description&quot;: &quot;A String&quot;, # The localized description of the update package.
+                &quot;kbArticleIds&quot;: [ # A collection of Microsoft Knowledge Base article IDs that are associated with the update package.
+                  &quot;A String&quot;,
+                ],
+                &quot;lastDeploymentChangeTime&quot;: &quot;A String&quot;, # The last published date of the update, in (UTC) date and time.
+                &quot;moreInfoUrls&quot;: [ # A collection of URLs that provide more information about the update package.
+                  &quot;A String&quot;,
+                ],
+                &quot;revisionNumber&quot;: 42, # The revision number of this update package.
+                &quot;supportUrl&quot;: &quot;A String&quot;, # A hyperlink to the language-specific support information for the update.
+                &quot;title&quot;: &quot;A String&quot;, # The localized title of the update package.
+                &quot;updateId&quot;: &quot;A String&quot;, # Gets the identifier of an update package. Stays the same across revisions.
+              },
+              &quot;yumPackage&quot;: { # Information related to the a standard versioned package. This includes package info for APT, Yum, Zypper, and Googet package managers. # Yum package info. For details about the yum package manager, see https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/deployment_guide/ch-yum.
+                &quot;architecture&quot;: &quot;A String&quot;, # The system architecture this package is intended for.
+                &quot;packageName&quot;: &quot;A String&quot;, # The name of the package.
+                &quot;version&quot;: &quot;A String&quot;, # The version of the package.
+              },
+              &quot;zypperPackage&quot;: { # Information related to the a standard versioned package. This includes package info for APT, Yum, Zypper, and Googet package managers. # Details of a Zypper package. For details about the Zypper package manager, see https://en.opensuse.org/SDB:Zypper_manual.
+                &quot;architecture&quot;: &quot;A String&quot;, # The system architecture this package is intended for.
+                &quot;packageName&quot;: &quot;A String&quot;, # The name of the package.
+                &quot;version&quot;: &quot;A String&quot;, # The version of the package.
+              },
+              &quot;zypperPatch&quot;: { # Details related to a Zypper Patch. # Details of a Zypper patch. For details about the Zypper package manager, see https://en.opensuse.org/SDB:Zypper_manual.
+                &quot;category&quot;: &quot;A String&quot;, # The category of the patch.
+                &quot;patchName&quot;: &quot;A String&quot;, # The name of the patch.
+                &quot;severity&quot;: &quot;A String&quot;, # The severity specified for this patch
+                &quot;summary&quot;: &quot;A String&quot;, # Any summary information provided about this patch.
+              },
+            },
+            &quot;createTime&quot;: &quot;A String&quot;, # When this inventory item was first detected.
+            &quot;id&quot;: &quot;A String&quot;, # Identifier for this item, unique across items for this VM.
+            &quot;installedPackage&quot;: { # Software package information of the operating system. # Software package present on the VM instance.
+              &quot;aptPackage&quot;: { # Information related to the a standard versioned package. This includes package info for APT, Yum, Zypper, and Googet package managers. # Details of an APT package. For details about the apt package manager, see https://wiki.debian.org/Apt.
+                &quot;architecture&quot;: &quot;A String&quot;, # The system architecture this package is intended for.
+                &quot;packageName&quot;: &quot;A String&quot;, # The name of the package.
+                &quot;version&quot;: &quot;A String&quot;, # The version of the package.
+              },
+              &quot;cosPackage&quot;: { # Information related to the a standard versioned package. This includes package info for APT, Yum, Zypper, and Googet package managers. # Details of a COS package.
+                &quot;architecture&quot;: &quot;A String&quot;, # The system architecture this package is intended for.
+                &quot;packageName&quot;: &quot;A String&quot;, # The name of the package.
+                &quot;version&quot;: &quot;A String&quot;, # The version of the package.
+              },
+              &quot;googetPackage&quot;: { # Information related to the a standard versioned package. This includes package info for APT, Yum, Zypper, and Googet package managers. # Details of a Googet package. For details about the googet package manager, see https://github.com/google/googet.
+                &quot;architecture&quot;: &quot;A String&quot;, # The system architecture this package is intended for.
+                &quot;packageName&quot;: &quot;A String&quot;, # The name of the package.
+                &quot;version&quot;: &quot;A String&quot;, # The version of the package.
+              },
+              &quot;qfePackage&quot;: { # Information related to a Quick Fix Engineering package. Fields are taken from Windows QuickFixEngineering Interface and match the source names: https://docs.microsoft.com/en-us/windows/win32/cimwin32prov/win32-quickfixengineering # Details of a Windows Quick Fix engineering package. See https://docs.microsoft.com/en-us/windows/win32/cimwin32prov/win32-quickfixengineering for info in Windows Quick Fix Engineering.
+                &quot;caption&quot;: &quot;A String&quot;, # A short textual description of the QFE update.
+                &quot;description&quot;: &quot;A String&quot;, # A textual description of the QFE update.
+                &quot;hotFixId&quot;: &quot;A String&quot;, # Unique identifier associated with a particular QFE update.
+                &quot;installTime&quot;: &quot;A String&quot;, # Date that the QFE update was installed. Mapped from installed_on field.
+              },
+              &quot;wuaPackage&quot;: { # Details related to a Windows Update package. Field data and names are taken from Windows Update API IUpdate Interface: https://docs.microsoft.com/en-us/windows/win32/api/_wua/ Descriptive fields like title, and description are localized based on the locale of the VM being updated. # Details of a Windows Update package. See https://docs.microsoft.com/en-us/windows/win32/api/_wua/ for information about Windows Update.
+                &quot;categories&quot;: [ # The categories that are associated with this update package.
+                  { # Categories specified by the Windows Update.
+                    &quot;id&quot;: &quot;A String&quot;, # The identifier of the windows update category.
+                    &quot;name&quot;: &quot;A String&quot;, # The name of the windows update category.
+                  },
+                ],
+                &quot;description&quot;: &quot;A String&quot;, # The localized description of the update package.
+                &quot;kbArticleIds&quot;: [ # A collection of Microsoft Knowledge Base article IDs that are associated with the update package.
+                  &quot;A String&quot;,
+                ],
+                &quot;lastDeploymentChangeTime&quot;: &quot;A String&quot;, # The last published date of the update, in (UTC) date and time.
+                &quot;moreInfoUrls&quot;: [ # A collection of URLs that provide more information about the update package.
+                  &quot;A String&quot;,
+                ],
+                &quot;revisionNumber&quot;: 42, # The revision number of this update package.
+                &quot;supportUrl&quot;: &quot;A String&quot;, # A hyperlink to the language-specific support information for the update.
+                &quot;title&quot;: &quot;A String&quot;, # The localized title of the update package.
+                &quot;updateId&quot;: &quot;A String&quot;, # Gets the identifier of an update package. Stays the same across revisions.
+              },
+              &quot;yumPackage&quot;: { # Information related to the a standard versioned package. This includes package info for APT, Yum, Zypper, and Googet package managers. # Yum package info. For details about the yum package manager, see https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/deployment_guide/ch-yum.
+                &quot;architecture&quot;: &quot;A String&quot;, # The system architecture this package is intended for.
+                &quot;packageName&quot;: &quot;A String&quot;, # The name of the package.
+                &quot;version&quot;: &quot;A String&quot;, # The version of the package.
+              },
+              &quot;zypperPackage&quot;: { # Information related to the a standard versioned package. This includes package info for APT, Yum, Zypper, and Googet package managers. # Details of a Zypper package. For details about the Zypper package manager, see https://en.opensuse.org/SDB:Zypper_manual.
+                &quot;architecture&quot;: &quot;A String&quot;, # The system architecture this package is intended for.
+                &quot;packageName&quot;: &quot;A String&quot;, # The name of the package.
+                &quot;version&quot;: &quot;A String&quot;, # The version of the package.
+              },
+              &quot;zypperPatch&quot;: { # Details related to a Zypper Patch. # Details of a Zypper patch. For details about the Zypper package manager, see https://en.opensuse.org/SDB:Zypper_manual.
+                &quot;category&quot;: &quot;A String&quot;, # The category of the patch.
+                &quot;patchName&quot;: &quot;A String&quot;, # The name of the patch.
+                &quot;severity&quot;: &quot;A String&quot;, # The severity specified for this patch
+                &quot;summary&quot;: &quot;A String&quot;, # Any summary information provided about this patch.
+              },
+            },
+            &quot;originType&quot;: &quot;A String&quot;, # The origin of this inventory item.
+            &quot;type&quot;: &quot;A String&quot;, # The specific type of inventory, correlating to its specific details.
+            &quot;updateTime&quot;: &quot;A String&quot;, # When this inventory item was last modified.
+          },
+        },
+        &quot;osInfo&quot;: { # Operating system information for the VM. # Base level operating system information for the VM.
+          &quot;architecture&quot;: &quot;A String&quot;, # The system architecture of the operating system.
+          &quot;hostname&quot;: &quot;A String&quot;, # The VM hostname.
+          &quot;kernelRelease&quot;: &quot;A String&quot;, # The kernel release of the operating system.
+          &quot;kernelVersion&quot;: &quot;A String&quot;, # The kernel version of the operating system.
+          &quot;longName&quot;: &quot;A String&quot;, # The operating system long name. For example &#x27;Debian GNU/Linux 9&#x27; or &#x27;Microsoft Window Server 2019 Datacenter&#x27;.
+          &quot;osconfigAgentVersion&quot;: &quot;A String&quot;, # The current version of the OS Config agent running on the VM.
+          &quot;shortName&quot;: &quot;A String&quot;, # The operating system short name. For example, &#x27;windows&#x27; or &#x27;debian&#x27;.
+          &quot;version&quot;: &quot;A String&quot;, # The version of the operating system.
+        },
+      },
+      &quot;resource&quot;: { # A representation of a Google Cloud resource. # A representation of the resource.
+        &quot;data&quot;: { # The content of the resource, in which some sensitive fields are removed and may not be present.
+          &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
+        },
+        &quot;discoveryDocumentUri&quot;: &quot;A String&quot;, # The URL of the discovery document containing the resource&#x27;s JSON schema. Example: `https://www.googleapis.com/discovery/v1/apis/compute/v1/rest` This value is unspecified for resources that do not have an API based on a discovery document, such as Cloud Bigtable.
+        &quot;discoveryName&quot;: &quot;A String&quot;, # The JSON schema name listed in the discovery document. Example: `Project` This value is unspecified for resources that do not have an API based on a discovery document, such as Cloud Bigtable.
+        &quot;location&quot;: &quot;A String&quot;, # The location of the resource in Google Cloud, such as its zone and region. For more information, see https://cloud.google.com/about/locations/.
+        &quot;parent&quot;: &quot;A String&quot;, # The full name of the immediate parent of this resource. See [Resource Names](https://cloud.google.com/apis/design/resource_names#full_resource_name) for more information. For Google Cloud assets, this value is the parent resource defined in the [Cloud IAM policy hierarchy](https://cloud.google.com/iam/docs/overview#policy_hierarchy). Example: `//cloudresourcemanager.googleapis.com/projects/my_project_123` For third-party assets, this field may be set differently.
+        &quot;resourceUrl&quot;: &quot;A String&quot;, # The REST URL for accessing the resource. An HTTP `GET` request using this URL returns the resource itself. Example: `https://cloudresourcemanager.googleapis.com/v1/projects/my-project-123` This value is unspecified for resources without a REST API.
+        &quot;version&quot;: &quot;A String&quot;, # The API version. Example: `v1`
+      },
+      &quot;servicePerimeter&quot;: { # `ServicePerimeter` describes a set of Google Cloud resources which can freely import and export data amongst themselves, but not export outside of the `ServicePerimeter`. If a request with a source within this `ServicePerimeter` has a target outside of the `ServicePerimeter`, the request will be blocked. Otherwise the request is allowed. There are two types of Service Perimeter - Regular and Bridge. Regular Service Perimeters cannot overlap, a single Google Cloud project can only belong to a single regular Service Perimeter. Service Perimeter Bridges can contain only Google Cloud projects as members, a single Google Cloud project may belong to multiple Service Perimeter Bridges. # Please also refer to the [service perimeter user guide](https://cloud.google.com/vpc-service-controls/docs/overview).
+        &quot;description&quot;: &quot;A String&quot;, # Description of the `ServicePerimeter` and its use. Does not affect behavior.
+        &quot;name&quot;: &quot;A String&quot;, # Required. Resource name for the ServicePerimeter. The `short_name` component must begin with a letter and only include alphanumeric and &#x27;_&#x27;. Format: `accessPolicies/{policy_id}/servicePerimeters/{short_name}`
+        &quot;perimeterType&quot;: &quot;A String&quot;, # Perimeter type indicator. A single project is allowed to be a member of single regular perimeter, but multiple service perimeter bridges. A project cannot be a included in a perimeter bridge without being included in regular perimeter. For perimeter bridges, the restricted service list as well as access level lists must be empty.
+        &quot;spec&quot;: { # `ServicePerimeterConfig` specifies a set of Google Cloud resources that describe specific Service Perimeter configuration. # Proposed (or dry run) ServicePerimeter configuration. This configuration allows to specify and test ServicePerimeter configuration without enforcing actual access restrictions. Only allowed to be set when the &quot;use_explicit_dry_run_spec&quot; flag is set.
+          &quot;accessLevels&quot;: [ # A list of `AccessLevel` resource names that allow resources within the `ServicePerimeter` to be accessed from the internet. `AccessLevels` listed must be in the same policy as this `ServicePerimeter`. Referencing a nonexistent `AccessLevel` is a syntax error. If no `AccessLevel` names are listed, resources within the perimeter can only be accessed via Google Cloud calls with request origins within the perimeter. Example: `&quot;accessPolicies/MY_POLICY/accessLevels/MY_LEVEL&quot;`. For Service Perimeter Bridge, must be empty.
+            &quot;A String&quot;,
+          ],
+          &quot;egressPolicies&quot;: [ # List of EgressPolicies to apply to the perimeter. A perimeter may have multiple EgressPolicies, each of which is evaluated separately. Access is granted if any EgressPolicy grants it. Must be empty for a perimeter bridge.
+            { # Policy for egress from perimeter. EgressPolicies match requests based on `egress_from` and `egress_to` stanzas. For an EgressPolicy to match, both `egress_from` and `egress_to` stanzas must be matched. If an EgressPolicy matches a request, the request is allowed to span the ServicePerimeter boundary. For example, an EgressPolicy can be used to allow VMs on networks within the ServicePerimeter to access a defined set of projects outside the perimeter in certain contexts (e.g. to read data from a Cloud Storage bucket or query against a BigQuery dataset). EgressPolicies are concerned with the *resources* that a request relates as well as the API services and API actions being used. They do not related to the direction of data movement. More detailed documentation for this concept can be found in the descriptions of EgressFrom and EgressTo.
+              &quot;egressFrom&quot;: { # Defines the conditions under which an EgressPolicy matches a request. Conditions based on information about the source of the request. Note that if the destination of the request is also protected by a ServicePerimeter, then that ServicePerimeter must have an IngressPolicy which allows access in order for this request to succeed. # Defines conditions on the source of a request causing this EgressPolicy to apply.
+                &quot;identities&quot;: [ # A list of identities that are allowed access through this [EgressPolicy]. Should be in the format of email address. The email address should represent individual user or service account only.
+                  &quot;A String&quot;,
+                ],
+                &quot;identityType&quot;: &quot;A String&quot;, # Specifies the type of identities that are allowed access to outside the perimeter. If left unspecified, then members of `identities` field will be allowed access.
+              },
+              &quot;egressTo&quot;: { # Defines the conditions under which an EgressPolicy matches a request. Conditions are based on information about the ApiOperation intended to be performed on the `resources` specified. Note that if the destination of the request is also protected by a ServicePerimeter, then that ServicePerimeter must have an IngressPolicy which allows access in order for this request to succeed. The request must match `operations` AND `resources` fields in order to be allowed egress out of the perimeter. # Defines the conditions on the ApiOperation and destination resources that cause this EgressPolicy to apply.
+                &quot;operations&quot;: [ # A list of ApiOperations allowed to be performed by the sources specified in the corresponding EgressFrom. A request matches if it uses an operation/service in this list.
+                  { # Identification for an API Operation.
+                    &quot;methodSelectors&quot;: [ # API methods or permissions to allow. Method or permission must belong to the service specified by `service_name` field. A single MethodSelector entry with `*` specified for the `method` field will allow all methods AND permissions for the service specified in `service_name`.
+                      { # An allowed method or permission of a service specified in ApiOperation.
+                        &quot;method&quot;: &quot;A String&quot;, # Value for `method` should be a valid method name for the corresponding `service_name` in ApiOperation. If `*` used as value for `method`, then ALL methods and permissions are allowed.
+                        &quot;permission&quot;: &quot;A String&quot;, # Value for `permission` should be a valid Cloud IAM permission for the corresponding `service_name` in ApiOperation.
+                      },
+                    ],
+                    &quot;serviceName&quot;: &quot;A String&quot;, # The name of the API whose methods or permissions the IngressPolicy or EgressPolicy want to allow. A single ApiOperation with `service_name` field set to `*` will allow all methods AND permissions for all services.
+                  },
+                ],
+                &quot;resources&quot;: [ # A list of resources, currently only projects in the form `projects/`, that are allowed to be accessed by sources defined in the corresponding EgressFrom. A request matches if it contains a resource in this list. If `*` is specified for `resources`, then this EgressTo rule will authorize access to all resources outside the perimeter.
+                  &quot;A String&quot;,
+                ],
+              },
+            },
+          ],
+          &quot;ingressPolicies&quot;: [ # List of IngressPolicies to apply to the perimeter. A perimeter may have multiple IngressPolicies, each of which is evaluated separately. Access is granted if any Ingress Policy grants it. Must be empty for a perimeter bridge.
+            { # Policy for ingress into ServicePerimeter. IngressPolicies match requests based on `ingress_from` and `ingress_to` stanzas. For an ingress policy to match, both the `ingress_from` and `ingress_to` stanzas must be matched. If an IngressPolicy matches a request, the request is allowed through the perimeter boundary from outside the perimeter. For example, access from the internet can be allowed either based on an AccessLevel or, for traffic hosted on Google Cloud, the project of the source network. For access from private networks, using the project of the hosting network is required. Individual ingress policies can be limited by restricting which services and/or actions they match using the `ingress_to` field.
+              &quot;ingressFrom&quot;: { # Defines the conditions under which an IngressPolicy matches a request. Conditions are based on information about the source of the request. The request must satisfy what is defined in `sources` AND identity related fields in order to match. # Defines the conditions on the source of a request causing this IngressPolicy to apply.
+                &quot;identities&quot;: [ # A list of identities that are allowed access through this ingress policy. Should be in the format of email address. The email address should represent individual user or service account only.
+                  &quot;A String&quot;,
+                ],
+                &quot;identityType&quot;: &quot;A String&quot;, # Specifies the type of identities that are allowed access from outside the perimeter. If left unspecified, then members of `identities` field will be allowed access.
+                &quot;sources&quot;: [ # Sources that this IngressPolicy authorizes access from.
+                  { # The source that IngressPolicy authorizes access from.
+                    &quot;accessLevel&quot;: &quot;A String&quot;, # An AccessLevel resource name that allow resources within the ServicePerimeters to be accessed from the internet. AccessLevels listed must be in the same policy as this ServicePerimeter. Referencing a nonexistent AccessLevel will cause an error. If no AccessLevel names are listed, resources within the perimeter can only be accessed via Google Cloud calls with request origins within the perimeter. Example: `accessPolicies/MY_POLICY/accessLevels/MY_LEVEL`. If a single `*` is specified for `access_level`, then all IngressSources will be allowed.
+                    &quot;resource&quot;: &quot;A String&quot;, # A Google Cloud resource that is allowed to ingress the perimeter. Requests from these resources will be allowed to access perimeter data. Currently only projects are allowed. Format: `projects/{project_number}` The project may be in any Google Cloud organization, not just the organization that the perimeter is defined in. `*` is not allowed, the case of allowing all Google Cloud resources only is not supported.
+                  },
+                ],
+              },
+              &quot;ingressTo&quot;: { # Defines the conditions under which an IngressPolicy matches a request. Conditions are based on information about the ApiOperation intended to be performed on the target resource of the request. The request must satisfy what is defined in `operations` AND `resources` in order to match. # Defines the conditions on the ApiOperation and request destination that cause this IngressPolicy to apply.
+                &quot;operations&quot;: [ # A list of ApiOperations allowed to be performed by the sources specified in corresponding IngressFrom in this ServicePerimeter.
+                  { # Identification for an API Operation.
+                    &quot;methodSelectors&quot;: [ # API methods or permissions to allow. Method or permission must belong to the service specified by `service_name` field. A single MethodSelector entry with `*` specified for the `method` field will allow all methods AND permissions for the service specified in `service_name`.
+                      { # An allowed method or permission of a service specified in ApiOperation.
+                        &quot;method&quot;: &quot;A String&quot;, # Value for `method` should be a valid method name for the corresponding `service_name` in ApiOperation. If `*` used as value for `method`, then ALL methods and permissions are allowed.
+                        &quot;permission&quot;: &quot;A String&quot;, # Value for `permission` should be a valid Cloud IAM permission for the corresponding `service_name` in ApiOperation.
+                      },
+                    ],
+                    &quot;serviceName&quot;: &quot;A String&quot;, # The name of the API whose methods or permissions the IngressPolicy or EgressPolicy want to allow. A single ApiOperation with `service_name` field set to `*` will allow all methods AND permissions for all services.
+                  },
+                ],
+                &quot;resources&quot;: [ # A list of resources, currently only projects in the form `projects/`, protected by this ServicePerimeter that are allowed to be accessed by sources defined in the corresponding IngressFrom. If a single `*` is specified, then access to all resources inside the perimeter are allowed.
+                  &quot;A String&quot;,
+                ],
+              },
+            },
+          ],
+          &quot;resources&quot;: [ # A list of Google Cloud resources that are inside of the service perimeter. Currently only projects are allowed. Format: `projects/{project_number}`
+            &quot;A String&quot;,
+          ],
+          &quot;restrictedServices&quot;: [ # Google Cloud services that are subject to the Service Perimeter restrictions. For example, if `storage.googleapis.com` is specified, access to the storage buckets inside the perimeter must meet the perimeter&#x27;s access restrictions.
+            &quot;A String&quot;,
+          ],
+          &quot;vpcAccessibleServices&quot;: { # Specifies how APIs are allowed to communicate within the Service Perimeter. # Configuration for APIs allowed within Perimeter.
+            &quot;allowedServices&quot;: [ # The list of APIs usable within the Service Perimeter. Must be empty unless &#x27;enable_restriction&#x27; is True. You can specify a list of individual services, as well as include the &#x27;RESTRICTED-SERVICES&#x27; value, which automatically includes all of the services protected by the perimeter.
+              &quot;A String&quot;,
+            ],
+            &quot;enableRestriction&quot;: True or False, # Whether to restrict API calls within the Service Perimeter to the list of APIs specified in &#x27;allowed_services&#x27;.
+          },
+        },
+        &quot;status&quot;: { # `ServicePerimeterConfig` specifies a set of Google Cloud resources that describe specific Service Perimeter configuration. # Current ServicePerimeter configuration. Specifies sets of resources, restricted services and access levels that determine perimeter content and boundaries.
+          &quot;accessLevels&quot;: [ # A list of `AccessLevel` resource names that allow resources within the `ServicePerimeter` to be accessed from the internet. `AccessLevels` listed must be in the same policy as this `ServicePerimeter`. Referencing a nonexistent `AccessLevel` is a syntax error. If no `AccessLevel` names are listed, resources within the perimeter can only be accessed via Google Cloud calls with request origins within the perimeter. Example: `&quot;accessPolicies/MY_POLICY/accessLevels/MY_LEVEL&quot;`. For Service Perimeter Bridge, must be empty.
+            &quot;A String&quot;,
+          ],
+          &quot;egressPolicies&quot;: [ # List of EgressPolicies to apply to the perimeter. A perimeter may have multiple EgressPolicies, each of which is evaluated separately. Access is granted if any EgressPolicy grants it. Must be empty for a perimeter bridge.
+            { # Policy for egress from perimeter. EgressPolicies match requests based on `egress_from` and `egress_to` stanzas. For an EgressPolicy to match, both `egress_from` and `egress_to` stanzas must be matched. If an EgressPolicy matches a request, the request is allowed to span the ServicePerimeter boundary. For example, an EgressPolicy can be used to allow VMs on networks within the ServicePerimeter to access a defined set of projects outside the perimeter in certain contexts (e.g. to read data from a Cloud Storage bucket or query against a BigQuery dataset). EgressPolicies are concerned with the *resources* that a request relates as well as the API services and API actions being used. They do not related to the direction of data movement. More detailed documentation for this concept can be found in the descriptions of EgressFrom and EgressTo.
+              &quot;egressFrom&quot;: { # Defines the conditions under which an EgressPolicy matches a request. Conditions based on information about the source of the request. Note that if the destination of the request is also protected by a ServicePerimeter, then that ServicePerimeter must have an IngressPolicy which allows access in order for this request to succeed. # Defines conditions on the source of a request causing this EgressPolicy to apply.
+                &quot;identities&quot;: [ # A list of identities that are allowed access through this [EgressPolicy]. Should be in the format of email address. The email address should represent individual user or service account only.
+                  &quot;A String&quot;,
+                ],
+                &quot;identityType&quot;: &quot;A String&quot;, # Specifies the type of identities that are allowed access to outside the perimeter. If left unspecified, then members of `identities` field will be allowed access.
+              },
+              &quot;egressTo&quot;: { # Defines the conditions under which an EgressPolicy matches a request. Conditions are based on information about the ApiOperation intended to be performed on the `resources` specified. Note that if the destination of the request is also protected by a ServicePerimeter, then that ServicePerimeter must have an IngressPolicy which allows access in order for this request to succeed. The request must match `operations` AND `resources` fields in order to be allowed egress out of the perimeter. # Defines the conditions on the ApiOperation and destination resources that cause this EgressPolicy to apply.
+                &quot;operations&quot;: [ # A list of ApiOperations allowed to be performed by the sources specified in the corresponding EgressFrom. A request matches if it uses an operation/service in this list.
+                  { # Identification for an API Operation.
+                    &quot;methodSelectors&quot;: [ # API methods or permissions to allow. Method or permission must belong to the service specified by `service_name` field. A single MethodSelector entry with `*` specified for the `method` field will allow all methods AND permissions for the service specified in `service_name`.
+                      { # An allowed method or permission of a service specified in ApiOperation.
+                        &quot;method&quot;: &quot;A String&quot;, # Value for `method` should be a valid method name for the corresponding `service_name` in ApiOperation. If `*` used as value for `method`, then ALL methods and permissions are allowed.
+                        &quot;permission&quot;: &quot;A String&quot;, # Value for `permission` should be a valid Cloud IAM permission for the corresponding `service_name` in ApiOperation.
+                      },
+                    ],
+                    &quot;serviceName&quot;: &quot;A String&quot;, # The name of the API whose methods or permissions the IngressPolicy or EgressPolicy want to allow. A single ApiOperation with `service_name` field set to `*` will allow all methods AND permissions for all services.
+                  },
+                ],
+                &quot;resources&quot;: [ # A list of resources, currently only projects in the form `projects/`, that are allowed to be accessed by sources defined in the corresponding EgressFrom. A request matches if it contains a resource in this list. If `*` is specified for `resources`, then this EgressTo rule will authorize access to all resources outside the perimeter.
+                  &quot;A String&quot;,
+                ],
+              },
+            },
+          ],
+          &quot;ingressPolicies&quot;: [ # List of IngressPolicies to apply to the perimeter. A perimeter may have multiple IngressPolicies, each of which is evaluated separately. Access is granted if any Ingress Policy grants it. Must be empty for a perimeter bridge.
+            { # Policy for ingress into ServicePerimeter. IngressPolicies match requests based on `ingress_from` and `ingress_to` stanzas. For an ingress policy to match, both the `ingress_from` and `ingress_to` stanzas must be matched. If an IngressPolicy matches a request, the request is allowed through the perimeter boundary from outside the perimeter. For example, access from the internet can be allowed either based on an AccessLevel or, for traffic hosted on Google Cloud, the project of the source network. For access from private networks, using the project of the hosting network is required. Individual ingress policies can be limited by restricting which services and/or actions they match using the `ingress_to` field.
+              &quot;ingressFrom&quot;: { # Defines the conditions under which an IngressPolicy matches a request. Conditions are based on information about the source of the request. The request must satisfy what is defined in `sources` AND identity related fields in order to match. # Defines the conditions on the source of a request causing this IngressPolicy to apply.
+                &quot;identities&quot;: [ # A list of identities that are allowed access through this ingress policy. Should be in the format of email address. The email address should represent individual user or service account only.
+                  &quot;A String&quot;,
+                ],
+                &quot;identityType&quot;: &quot;A String&quot;, # Specifies the type of identities that are allowed access from outside the perimeter. If left unspecified, then members of `identities` field will be allowed access.
+                &quot;sources&quot;: [ # Sources that this IngressPolicy authorizes access from.
+                  { # The source that IngressPolicy authorizes access from.
+                    &quot;accessLevel&quot;: &quot;A String&quot;, # An AccessLevel resource name that allow resources within the ServicePerimeters to be accessed from the internet. AccessLevels listed must be in the same policy as this ServicePerimeter. Referencing a nonexistent AccessLevel will cause an error. If no AccessLevel names are listed, resources within the perimeter can only be accessed via Google Cloud calls with request origins within the perimeter. Example: `accessPolicies/MY_POLICY/accessLevels/MY_LEVEL`. If a single `*` is specified for `access_level`, then all IngressSources will be allowed.
+                    &quot;resource&quot;: &quot;A String&quot;, # A Google Cloud resource that is allowed to ingress the perimeter. Requests from these resources will be allowed to access perimeter data. Currently only projects are allowed. Format: `projects/{project_number}` The project may be in any Google Cloud organization, not just the organization that the perimeter is defined in. `*` is not allowed, the case of allowing all Google Cloud resources only is not supported.
+                  },
+                ],
+              },
+              &quot;ingressTo&quot;: { # Defines the conditions under which an IngressPolicy matches a request. Conditions are based on information about the ApiOperation intended to be performed on the target resource of the request. The request must satisfy what is defined in `operations` AND `resources` in order to match. # Defines the conditions on the ApiOperation and request destination that cause this IngressPolicy to apply.
+                &quot;operations&quot;: [ # A list of ApiOperations allowed to be performed by the sources specified in corresponding IngressFrom in this ServicePerimeter.
+                  { # Identification for an API Operation.
+                    &quot;methodSelectors&quot;: [ # API methods or permissions to allow. Method or permission must belong to the service specified by `service_name` field. A single MethodSelector entry with `*` specified for the `method` field will allow all methods AND permissions for the service specified in `service_name`.
+                      { # An allowed method or permission of a service specified in ApiOperation.
+                        &quot;method&quot;: &quot;A String&quot;, # Value for `method` should be a valid method name for the corresponding `service_name` in ApiOperation. If `*` used as value for `method`, then ALL methods and permissions are allowed.
+                        &quot;permission&quot;: &quot;A String&quot;, # Value for `permission` should be a valid Cloud IAM permission for the corresponding `service_name` in ApiOperation.
+                      },
+                    ],
+                    &quot;serviceName&quot;: &quot;A String&quot;, # The name of the API whose methods or permissions the IngressPolicy or EgressPolicy want to allow. A single ApiOperation with `service_name` field set to `*` will allow all methods AND permissions for all services.
+                  },
+                ],
+                &quot;resources&quot;: [ # A list of resources, currently only projects in the form `projects/`, protected by this ServicePerimeter that are allowed to be accessed by sources defined in the corresponding IngressFrom. If a single `*` is specified, then access to all resources inside the perimeter are allowed.
+                  &quot;A String&quot;,
+                ],
+              },
+            },
+          ],
+          &quot;resources&quot;: [ # A list of Google Cloud resources that are inside of the service perimeter. Currently only projects are allowed. Format: `projects/{project_number}`
+            &quot;A String&quot;,
+          ],
+          &quot;restrictedServices&quot;: [ # Google Cloud services that are subject to the Service Perimeter restrictions. For example, if `storage.googleapis.com` is specified, access to the storage buckets inside the perimeter must meet the perimeter&#x27;s access restrictions.
+            &quot;A String&quot;,
+          ],
+          &quot;vpcAccessibleServices&quot;: { # Specifies how APIs are allowed to communicate within the Service Perimeter. # Configuration for APIs allowed within Perimeter.
+            &quot;allowedServices&quot;: [ # The list of APIs usable within the Service Perimeter. Must be empty unless &#x27;enable_restriction&#x27; is True. You can specify a list of individual services, as well as include the &#x27;RESTRICTED-SERVICES&#x27; value, which automatically includes all of the services protected by the perimeter.
+              &quot;A String&quot;,
+            ],
+            &quot;enableRestriction&quot;: True or False, # Whether to restrict API calls within the Service Perimeter to the list of APIs specified in &#x27;allowed_services&#x27;.
+          },
+        },
+        &quot;title&quot;: &quot;A String&quot;, # Human readable title. Must be unique within the Policy.
+        &quot;useExplicitDryRunSpec&quot;: True or False, # Use explicit dry run spec flag. Ordinarily, a dry-run spec implicitly exists for all Service Perimeters, and that spec is identical to the status for those Service Perimeters. When this flag is set, it inhibits the generation of the implicit spec, thereby allowing the user to explicitly provide a configuration (&quot;spec&quot;) to use in a dry-run version of the Service Perimeter. This allows the user to test changes to the enforced config (&quot;status&quot;) without actually enforcing them. This testing is done through analyzing the differences between currently enforced and suggested restrictions. use_explicit_dry_run_spec must bet set to True if any of the fields in the spec are set to non-default values.
+      },
+      &quot;updateTime&quot;: &quot;A String&quot;, # The last update timestamp of an asset. update_time is updated when create/update/delete operation is performed.
+    },
+  ],
+  &quot;nextPageToken&quot;: &quot;A String&quot;, # Token to retrieve the next page of results. It expires 72 hours after the page token for the first page is generated. Set to empty if there are no remaining results.
+  &quot;readTime&quot;: &quot;A String&quot;, # Time the snapshot was taken.
+}</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/cloudasset_v1.html b/docs/dyn/cloudasset_v1.html
index a5b6fe9..5024435 100644
--- a/docs/dyn/cloudasset_v1.html
+++ b/docs/dyn/cloudasset_v1.html
@@ -75,6 +75,11 @@
 <h1><a href="cloudasset_v1.html">Cloud Asset API</a></h1>
 <h2>Instance Methods</h2>
 <p class="toc_element">
+  <code><a href="cloudasset_v1.assets.html">assets()</a></code>
+</p>
+<p class="firstline">Returns the assets Resource.</p>
+
+<p class="toc_element">
   <code><a href="cloudasset_v1.feeds.html">feeds()</a></code>
 </p>
 <p class="firstline">Returns the feeds Resource.</p>
diff --git a/docs/dyn/cloudasset_v1.v1.html b/docs/dyn/cloudasset_v1.v1.html
index 922f485..e332d04 100644
--- a/docs/dyn/cloudasset_v1.v1.html
+++ b/docs/dyn/cloudasset_v1.v1.html
@@ -1491,7 +1491,7 @@
         &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
       },
       &quot;assetType&quot;: &quot;A String&quot;, # The type of this resource. Example: `compute.googleapis.com/Disk`. To search against the `asset_type`: * specify the `asset_type` field in your search request.
-      &quot;createTime&quot;: &quot;A String&quot;, # The create timestamp of this resource, at which the resource was created. The granularity is in seconds. Timestamp.nanos will always be 0. This field is available only when the resource&#x27;s proto contains it. To search against `create_time`: * use a field query (value in seconds). Example: `createTime &gt;= 1594294238`
+      &quot;createTime&quot;: &quot;A String&quot;, # The create timestamp of this resource, at which the resource was created. The granularity is in seconds. Timestamp.nanos will always be 0. This field is available only when the resource&#x27;s proto contains it. To search against `create_time`: * use a field query. - value in seconds since unix epoch. Example: `createTime &gt; 1609459200` - value in date string. Example: `createTime &gt; 2021-01-01` - value in date-time string (must be quoted). Example: `createTime &gt; &quot;2021-01-01T00:00:00&quot;`
       &quot;description&quot;: &quot;A String&quot;, # One or more paragraphs of text description of this resource. Maximum length could be up to 1M bytes. This field is available only when the resource&#x27;s proto contains it. To search against the `description`: * use a field query. Example: `description:&quot;important instance&quot;` * use a free text query. Example: `&quot;important instance&quot;`
       &quot;displayName&quot;: &quot;A String&quot;, # The display name of this resource. This field is available only when the resource&#x27;s proto contains it. To search against the `display_name`: * use a field query. Example: `displayName:&quot;My Instance&quot;` * use a free text query. Example: `&quot;My Instance&quot;`
       &quot;folders&quot;: [ # The folder(s) that this resource belongs to, in the form of folders/{FOLDER_NUMBER}. This field is available when the resource belongs to one or more folders. To search against `folders`: * use a field query. Example: `folders:(123 OR 456)` * use a free text query. Example: `123` * specify the `scope` field as this folder in your search request.
@@ -1511,7 +1511,7 @@
       &quot;parentFullResourceName&quot;: &quot;A String&quot;, # The full resource name of this resource&#x27;s parent, if it has one. To search against the `parent_full_resource_name`: * use a field query. Example: `parentFullResourceName:&quot;project-name&quot;` * use a free text query. Example: `project-name`
       &quot;project&quot;: &quot;A String&quot;, # The project that this resource belongs to, in the form of projects/{PROJECT_NUMBER}. This field is available when the resource belongs to a project. To search against `project`: * use a field query. Example: `project:12345` * use a free text query. Example: `12345` * specify the `scope` field as this project in your search request.
       &quot;state&quot;: &quot;A String&quot;, # The state of this resource. Different resources types have different state definitions that are mapped from various fields of different resource types. This field is available only when the resource&#x27;s proto contains it. Example: If the resource is an instance provided by Compute Engine, its state will include PROVISIONING, STAGING, RUNNING, STOPPING, SUSPENDING, SUSPENDED, REPAIRING, and TERMINATED. See `status` definition in [API Reference](https://cloud.google.com/compute/docs/reference/rest/v1/instances). If the resource is a project provided by Cloud Resource Manager, its state will include LIFECYCLE_STATE_UNSPECIFIED, ACTIVE, DELETE_REQUESTED and DELETE_IN_PROGRESS. See `lifecycleState` definition in [API Reference](https://cloud.google.com/resource-manager/reference/rest/v1/projects). To search against the `state`: * use a field query. Example: `state:RUNNING` * use a free text query. Example: `RUNNING`
-      &quot;updateTime&quot;: &quot;A String&quot;, # The last update timestamp of this resource, at which the resource was last modified or deleted. The granularity is in seconds. Timestamp.nanos will always be 0. This field is available only when the resource&#x27;s proto contains it. To search against `update_time`: * use a field query (value in seconds). Example: `updateTime &lt; 1594294238`
+      &quot;updateTime&quot;: &quot;A String&quot;, # The last update timestamp of this resource, at which the resource was last modified or deleted. The granularity is in seconds. Timestamp.nanos will always be 0. This field is available only when the resource&#x27;s proto contains it. To search against `update_time`: * use a field query. - value in seconds since unix epoch. Example: `updateTime &lt; 1609459200` - value in date string. Example: `updateTime &lt; 2021-01-01` - value in date-time string (must be quoted). Example: `updateTime &lt; &quot;2021-01-01T00:00:00&quot;`
     },
   ],
 }</pre>
diff --git a/docs/dyn/cloudbuild_v1.projects.builds.html b/docs/dyn/cloudbuild_v1.projects.builds.html
index a6e72dd..372f626 100644
--- a/docs/dyn/cloudbuild_v1.projects.builds.html
+++ b/docs/dyn/cloudbuild_v1.projects.builds.html
@@ -332,6 +332,12 @@
       &quot;startTime&quot;: &quot;A String&quot;, # Start of time span.
     },
   },
+  &quot;warnings&quot;: [ # Output only. Non-fatal problems encountered during the execution of the build.
+    { # A non-fatal problem encountered during the execution of the build.
+      &quot;priority&quot;: &quot;A String&quot;, # The priority for this warning.
+      &quot;text&quot;: &quot;A String&quot;, # Explanation of the warning generated.
+    },
+  ],
 }</pre>
 </div>
 
@@ -561,6 +567,12 @@
       &quot;startTime&quot;: &quot;A String&quot;, # Start of time span.
     },
   },
+  &quot;warnings&quot;: [ # Output only. Non-fatal problems encountered during the execution of the build.
+    { # A non-fatal problem encountered during the execution of the build.
+      &quot;priority&quot;: &quot;A String&quot;, # The priority for this warning.
+      &quot;text&quot;: &quot;A String&quot;, # Explanation of the warning generated.
+    },
+  ],
 }
 
   parent: string, The parent resource where this build will be created. Format: `projects/{project}/locations/{location}`
@@ -821,6 +833,12 @@
       &quot;startTime&quot;: &quot;A String&quot;, # Start of time span.
     },
   },
+  &quot;warnings&quot;: [ # Output only. Non-fatal problems encountered during the execution of the build.
+    { # A non-fatal problem encountered during the execution of the build.
+      &quot;priority&quot;: &quot;A String&quot;, # The priority for this warning.
+      &quot;text&quot;: &quot;A String&quot;, # Explanation of the warning generated.
+    },
+  ],
 }</pre>
 </div>
 
@@ -1056,6 +1074,12 @@
           &quot;startTime&quot;: &quot;A String&quot;, # Start of time span.
         },
       },
+      &quot;warnings&quot;: [ # Output only. Non-fatal problems encountered during the execution of the build.
+        { # A non-fatal problem encountered during the execution of the build.
+          &quot;priority&quot;: &quot;A String&quot;, # The priority for this warning.
+          &quot;text&quot;: &quot;A String&quot;, # Explanation of the warning generated.
+        },
+      ],
     },
   ],
   &quot;nextPageToken&quot;: &quot;A String&quot;, # Token to receive the next page of results. This will be absent if the end of the response list has been reached.
diff --git a/docs/dyn/cloudbuild_v1.projects.locations.builds.html b/docs/dyn/cloudbuild_v1.projects.locations.builds.html
index 8e7244c..9be4646 100644
--- a/docs/dyn/cloudbuild_v1.projects.locations.builds.html
+++ b/docs/dyn/cloudbuild_v1.projects.locations.builds.html
@@ -331,6 +331,12 @@
       &quot;startTime&quot;: &quot;A String&quot;, # Start of time span.
     },
   },
+  &quot;warnings&quot;: [ # Output only. Non-fatal problems encountered during the execution of the build.
+    { # A non-fatal problem encountered during the execution of the build.
+      &quot;priority&quot;: &quot;A String&quot;, # The priority for this warning.
+      &quot;text&quot;: &quot;A String&quot;, # Explanation of the warning generated.
+    },
+  ],
 }</pre>
 </div>
 
@@ -560,6 +566,12 @@
       &quot;startTime&quot;: &quot;A String&quot;, # Start of time span.
     },
   },
+  &quot;warnings&quot;: [ # Output only. Non-fatal problems encountered during the execution of the build.
+    { # A non-fatal problem encountered during the execution of the build.
+      &quot;priority&quot;: &quot;A String&quot;, # The priority for this warning.
+      &quot;text&quot;: &quot;A String&quot;, # Explanation of the warning generated.
+    },
+  ],
 }
 
   projectId: string, Required. ID of the project.
@@ -820,6 +832,12 @@
       &quot;startTime&quot;: &quot;A String&quot;, # Start of time span.
     },
   },
+  &quot;warnings&quot;: [ # Output only. Non-fatal problems encountered during the execution of the build.
+    { # A non-fatal problem encountered during the execution of the build.
+      &quot;priority&quot;: &quot;A String&quot;, # The priority for this warning.
+      &quot;text&quot;: &quot;A String&quot;, # Explanation of the warning generated.
+    },
+  ],
 }</pre>
 </div>
 
@@ -1055,6 +1073,12 @@
           &quot;startTime&quot;: &quot;A String&quot;, # Start of time span.
         },
       },
+      &quot;warnings&quot;: [ # Output only. Non-fatal problems encountered during the execution of the build.
+        { # A non-fatal problem encountered during the execution of the build.
+          &quot;priority&quot;: &quot;A String&quot;, # The priority for this warning.
+          &quot;text&quot;: &quot;A String&quot;, # Explanation of the warning generated.
+        },
+      ],
     },
   ],
   &quot;nextPageToken&quot;: &quot;A String&quot;, # Token to receive the next page of results. This will be absent if the end of the response list has been reached.
diff --git a/docs/dyn/cloudbuild_v1.projects.triggers.html b/docs/dyn/cloudbuild_v1.projects.triggers.html
index 368828c..296015f 100644
--- a/docs/dyn/cloudbuild_v1.projects.triggers.html
+++ b/docs/dyn/cloudbuild_v1.projects.triggers.html
@@ -329,6 +329,12 @@
         &quot;startTime&quot;: &quot;A String&quot;, # Start of time span.
       },
     },
+    &quot;warnings&quot;: [ # Output only. Non-fatal problems encountered during the execution of the build.
+      { # A non-fatal problem encountered during the execution of the build.
+        &quot;priority&quot;: &quot;A String&quot;, # The priority for this warning.
+        &quot;text&quot;: &quot;A String&quot;, # Explanation of the warning generated.
+      },
+    ],
   },
   &quot;createTime&quot;: &quot;A String&quot;, # Output only. Time when the trigger was created.
   &quot;description&quot;: &quot;A String&quot;, # Human-readable description of this trigger.
@@ -605,6 +611,12 @@
         &quot;startTime&quot;: &quot;A String&quot;, # Start of time span.
       },
     },
+    &quot;warnings&quot;: [ # Output only. Non-fatal problems encountered during the execution of the build.
+      { # A non-fatal problem encountered during the execution of the build.
+        &quot;priority&quot;: &quot;A String&quot;, # The priority for this warning.
+        &quot;text&quot;: &quot;A String&quot;, # Explanation of the warning generated.
+      },
+    ],
   },
   &quot;createTime&quot;: &quot;A String&quot;, # Output only. Time when the trigger was created.
   &quot;description&quot;: &quot;A String&quot;, # Human-readable description of this trigger.
@@ -908,6 +920,12 @@
         &quot;startTime&quot;: &quot;A String&quot;, # Start of time span.
       },
     },
+    &quot;warnings&quot;: [ # Output only. Non-fatal problems encountered during the execution of the build.
+      { # A non-fatal problem encountered during the execution of the build.
+        &quot;priority&quot;: &quot;A String&quot;, # The priority for this warning.
+        &quot;text&quot;: &quot;A String&quot;, # Explanation of the warning generated.
+      },
+    ],
   },
   &quot;createTime&quot;: &quot;A String&quot;, # Output only. Time when the trigger was created.
   &quot;description&quot;: &quot;A String&quot;, # Human-readable description of this trigger.
@@ -1196,6 +1214,12 @@
             &quot;startTime&quot;: &quot;A String&quot;, # Start of time span.
           },
         },
+        &quot;warnings&quot;: [ # Output only. Non-fatal problems encountered during the execution of the build.
+          { # A non-fatal problem encountered during the execution of the build.
+            &quot;priority&quot;: &quot;A String&quot;, # The priority for this warning.
+            &quot;text&quot;: &quot;A String&quot;, # Explanation of the warning generated.
+          },
+        ],
       },
       &quot;createTime&quot;: &quot;A String&quot;, # Output only. Time when the trigger was created.
       &quot;description&quot;: &quot;A String&quot;, # Human-readable description of this trigger.
@@ -1491,6 +1515,12 @@
         &quot;startTime&quot;: &quot;A String&quot;, # Start of time span.
       },
     },
+    &quot;warnings&quot;: [ # Output only. Non-fatal problems encountered during the execution of the build.
+      { # A non-fatal problem encountered during the execution of the build.
+        &quot;priority&quot;: &quot;A String&quot;, # The priority for this warning.
+        &quot;text&quot;: &quot;A String&quot;, # Explanation of the warning generated.
+      },
+    ],
   },
   &quot;createTime&quot;: &quot;A String&quot;, # Output only. Time when the trigger was created.
   &quot;description&quot;: &quot;A String&quot;, # Human-readable description of this trigger.
@@ -1767,6 +1797,12 @@
         &quot;startTime&quot;: &quot;A String&quot;, # Start of time span.
       },
     },
+    &quot;warnings&quot;: [ # Output only. Non-fatal problems encountered during the execution of the build.
+      { # A non-fatal problem encountered during the execution of the build.
+        &quot;priority&quot;: &quot;A String&quot;, # The priority for this warning.
+        &quot;text&quot;: &quot;A String&quot;, # Explanation of the warning generated.
+      },
+    ],
   },
   &quot;createTime&quot;: &quot;A String&quot;, # Output only. Time when the trigger was created.
   &quot;description&quot;: &quot;A String&quot;, # Human-readable description of this trigger.
diff --git a/docs/dyn/compute_alpha.backendServices.html b/docs/dyn/compute_alpha.backendServices.html
index 405be1b..da00811 100644
--- a/docs/dyn/compute_alpha.backendServices.html
+++ b/docs/dyn/compute_alpha.backendServices.html
@@ -349,22 +349,16 @@
               &quot;A String&quot;,
             ],
           },
-          &quot;circuitBreakers&quot;: { # Settings controlling the volume of connections to a backend service. # Settings controlling the volume of connections to a backend service. If not set, this feature is considered disabled.
-              #
-              # This field is applicable to either:
-              # - A regional backend service with the service_protocol set to HTTP, HTTPS, or HTTP2, and load_balancing_scheme set to INTERNAL_MANAGED.
-              # - A global backend service with the load_balancing_scheme set to INTERNAL_SELF_MANAGED.
-              #
-              # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
+          &quot;circuitBreakers&quot;: { # Settings controlling the volume of connections to a backend service.
             &quot;connectTimeout&quot;: { # A Duration represents a fixed-length span of time represented as a count of seconds and fractions of seconds at nanosecond resolution. It is independent of any calendar and concepts like &quot;day&quot; or &quot;month&quot;. Range is approximately 10,000 years. # The timeout for new network connections to hosts.
               &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
               &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
             },
-            &quot;maxConnections&quot;: 42, # The maximum number of connections to the backend service. If not specified, there is no limit.
-            &quot;maxPendingRequests&quot;: 42, # The maximum number of pending requests allowed to the backend service. If not specified, there is no limit.
+            &quot;maxConnections&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
+            &quot;maxPendingRequests&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
             &quot;maxRequests&quot;: 42, # The maximum number of parallel requests that allowed to the backend service. If not specified, there is no limit.
-            &quot;maxRequestsPerConnection&quot;: 42, # Maximum requests for a single connection to the backend service. This parameter is respected by both the HTTP/1.1 and HTTP/2 implementations. If not specified, there is no limit. Setting this parameter to 1 will effectively disable keep alive.
-            &quot;maxRetries&quot;: 42, # The maximum number of parallel retries allowed to the backend cluster. If not specified, the default is 1.
+            &quot;maxRequestsPerConnection&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
+            &quot;maxRetries&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
           },
           &quot;connectionDraining&quot;: { # Message containing connection draining configuration.
             &quot;drainingTimeoutSec&quot;: 42, # Configures a duration timeout for existing requests on a removed backend instance. For supported load balancers and protocols, as described in Enabling connection draining.
@@ -466,6 +460,7 @@
           },
           &quot;maxStreamDuration&quot;: { # A Duration represents a fixed-length span of time represented as a count of seconds and fractions of seconds at nanosecond resolution. It is independent of any calendar and concepts like &quot;day&quot; or &quot;month&quot;. Range is approximately 10,000 years. # Specifies the default maximum duration (timeout) for streams to this service. Duration is computed from the beginning of the stream until the response has been completely processed, including all retries. A stream that does not complete in this duration is closed.
               # If not specified, there will be no timeout limit, i.e. the maximum duration is infinite.
+              # This value can be overridden in the PathMatcher configuration of the UrlMap that references this backend service.
               # This field is only allowed when the loadBalancingScheme of the backend service is INTERNAL_SELF_MANAGED.
             &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
             &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
@@ -773,7 +768,7 @@
           &quot;subsetting&quot;: { # Subsetting configuration for this BackendService. Currently this is applicable only for Internal TCP/UDP load balancing and Internal HTTP(S) load balancing.
             &quot;policy&quot;: &quot;A String&quot;,
           },
-          &quot;timeoutSec&quot;: 42, # The backend service timeout has a different meaning depending on the type of load balancer. For more information see,  Backend service settings The default is 30 seconds. The full range of timeout values allowed is 1 - 2,147,483,647 seconds.
+          &quot;timeoutSec&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true. Instead, use maxStreamDuration.
         },
       ],
       &quot;warning&quot;: { # Informational warning which replaces the list of backend services when the list is empty.
@@ -1105,22 +1100,16 @@
       &quot;A String&quot;,
     ],
   },
-  &quot;circuitBreakers&quot;: { # Settings controlling the volume of connections to a backend service. # Settings controlling the volume of connections to a backend service. If not set, this feature is considered disabled.
-      #
-      # This field is applicable to either:
-      # - A regional backend service with the service_protocol set to HTTP, HTTPS, or HTTP2, and load_balancing_scheme set to INTERNAL_MANAGED.
-      # - A global backend service with the load_balancing_scheme set to INTERNAL_SELF_MANAGED.
-      #
-      # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
+  &quot;circuitBreakers&quot;: { # Settings controlling the volume of connections to a backend service.
     &quot;connectTimeout&quot;: { # A Duration represents a fixed-length span of time represented as a count of seconds and fractions of seconds at nanosecond resolution. It is independent of any calendar and concepts like &quot;day&quot; or &quot;month&quot;. Range is approximately 10,000 years. # The timeout for new network connections to hosts.
       &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
       &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
     },
-    &quot;maxConnections&quot;: 42, # The maximum number of connections to the backend service. If not specified, there is no limit.
-    &quot;maxPendingRequests&quot;: 42, # The maximum number of pending requests allowed to the backend service. If not specified, there is no limit.
+    &quot;maxConnections&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
+    &quot;maxPendingRequests&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
     &quot;maxRequests&quot;: 42, # The maximum number of parallel requests that allowed to the backend service. If not specified, there is no limit.
-    &quot;maxRequestsPerConnection&quot;: 42, # Maximum requests for a single connection to the backend service. This parameter is respected by both the HTTP/1.1 and HTTP/2 implementations. If not specified, there is no limit. Setting this parameter to 1 will effectively disable keep alive.
-    &quot;maxRetries&quot;: 42, # The maximum number of parallel retries allowed to the backend cluster. If not specified, the default is 1.
+    &quot;maxRequestsPerConnection&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
+    &quot;maxRetries&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
   },
   &quot;connectionDraining&quot;: { # Message containing connection draining configuration.
     &quot;drainingTimeoutSec&quot;: 42, # Configures a duration timeout for existing requests on a removed backend instance. For supported load balancers and protocols, as described in Enabling connection draining.
@@ -1222,6 +1211,7 @@
   },
   &quot;maxStreamDuration&quot;: { # A Duration represents a fixed-length span of time represented as a count of seconds and fractions of seconds at nanosecond resolution. It is independent of any calendar and concepts like &quot;day&quot; or &quot;month&quot;. Range is approximately 10,000 years. # Specifies the default maximum duration (timeout) for streams to this service. Duration is computed from the beginning of the stream until the response has been completely processed, including all retries. A stream that does not complete in this duration is closed.
       # If not specified, there will be no timeout limit, i.e. the maximum duration is infinite.
+      # This value can be overridden in the PathMatcher configuration of the UrlMap that references this backend service.
       # This field is only allowed when the loadBalancingScheme of the backend service is INTERNAL_SELF_MANAGED.
     &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
     &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
@@ -1529,7 +1519,7 @@
   &quot;subsetting&quot;: { # Subsetting configuration for this BackendService. Currently this is applicable only for Internal TCP/UDP load balancing and Internal HTTP(S) load balancing.
     &quot;policy&quot;: &quot;A String&quot;,
   },
-  &quot;timeoutSec&quot;: 42, # The backend service timeout has a different meaning depending on the type of load balancer. For more information see,  Backend service settings The default is 30 seconds. The full range of timeout values allowed is 1 - 2,147,483,647 seconds.
+  &quot;timeoutSec&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true. Instead, use maxStreamDuration.
 }</pre>
 </div>
 
@@ -1696,22 +1686,16 @@
       &quot;A String&quot;,
     ],
   },
-  &quot;circuitBreakers&quot;: { # Settings controlling the volume of connections to a backend service. # Settings controlling the volume of connections to a backend service. If not set, this feature is considered disabled.
-      # 
-      # This field is applicable to either:
-      # - A regional backend service with the service_protocol set to HTTP, HTTPS, or HTTP2, and load_balancing_scheme set to INTERNAL_MANAGED.
-      # - A global backend service with the load_balancing_scheme set to INTERNAL_SELF_MANAGED.
-      # 
-      # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
+  &quot;circuitBreakers&quot;: { # Settings controlling the volume of connections to a backend service.
     &quot;connectTimeout&quot;: { # A Duration represents a fixed-length span of time represented as a count of seconds and fractions of seconds at nanosecond resolution. It is independent of any calendar and concepts like &quot;day&quot; or &quot;month&quot;. Range is approximately 10,000 years. # The timeout for new network connections to hosts.
       &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
       &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
     },
-    &quot;maxConnections&quot;: 42, # The maximum number of connections to the backend service. If not specified, there is no limit.
-    &quot;maxPendingRequests&quot;: 42, # The maximum number of pending requests allowed to the backend service. If not specified, there is no limit.
+    &quot;maxConnections&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
+    &quot;maxPendingRequests&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
     &quot;maxRequests&quot;: 42, # The maximum number of parallel requests that allowed to the backend service. If not specified, there is no limit.
-    &quot;maxRequestsPerConnection&quot;: 42, # Maximum requests for a single connection to the backend service. This parameter is respected by both the HTTP/1.1 and HTTP/2 implementations. If not specified, there is no limit. Setting this parameter to 1 will effectively disable keep alive.
-    &quot;maxRetries&quot;: 42, # The maximum number of parallel retries allowed to the backend cluster. If not specified, the default is 1.
+    &quot;maxRequestsPerConnection&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
+    &quot;maxRetries&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
   },
   &quot;connectionDraining&quot;: { # Message containing connection draining configuration.
     &quot;drainingTimeoutSec&quot;: 42, # Configures a duration timeout for existing requests on a removed backend instance. For supported load balancers and protocols, as described in Enabling connection draining.
@@ -1813,6 +1797,7 @@
   },
   &quot;maxStreamDuration&quot;: { # A Duration represents a fixed-length span of time represented as a count of seconds and fractions of seconds at nanosecond resolution. It is independent of any calendar and concepts like &quot;day&quot; or &quot;month&quot;. Range is approximately 10,000 years. # Specifies the default maximum duration (timeout) for streams to this service. Duration is computed from the beginning of the stream until the response has been completely processed, including all retries. A stream that does not complete in this duration is closed.
       # If not specified, there will be no timeout limit, i.e. the maximum duration is infinite.
+      # This value can be overridden in the PathMatcher configuration of the UrlMap that references this backend service.
       # This field is only allowed when the loadBalancingScheme of the backend service is INTERNAL_SELF_MANAGED.
     &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
     &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
@@ -2120,7 +2105,7 @@
   &quot;subsetting&quot;: { # Subsetting configuration for this BackendService. Currently this is applicable only for Internal TCP/UDP load balancing and Internal HTTP(S) load balancing.
     &quot;policy&quot;: &quot;A String&quot;,
   },
-  &quot;timeoutSec&quot;: 42, # The backend service timeout has a different meaning depending on the type of load balancer. For more information see,  Backend service settings The default is 30 seconds. The full range of timeout values allowed is 1 - 2,147,483,647 seconds.
+  &quot;timeoutSec&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true. Instead, use maxStreamDuration.
 }
 
   requestId: string, An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.
@@ -2331,22 +2316,16 @@
           &quot;A String&quot;,
         ],
       },
-      &quot;circuitBreakers&quot;: { # Settings controlling the volume of connections to a backend service. # Settings controlling the volume of connections to a backend service. If not set, this feature is considered disabled.
-          #
-          # This field is applicable to either:
-          # - A regional backend service with the service_protocol set to HTTP, HTTPS, or HTTP2, and load_balancing_scheme set to INTERNAL_MANAGED.
-          # - A global backend service with the load_balancing_scheme set to INTERNAL_SELF_MANAGED.
-          #
-          # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
+      &quot;circuitBreakers&quot;: { # Settings controlling the volume of connections to a backend service.
         &quot;connectTimeout&quot;: { # A Duration represents a fixed-length span of time represented as a count of seconds and fractions of seconds at nanosecond resolution. It is independent of any calendar and concepts like &quot;day&quot; or &quot;month&quot;. Range is approximately 10,000 years. # The timeout for new network connections to hosts.
           &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
           &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
         },
-        &quot;maxConnections&quot;: 42, # The maximum number of connections to the backend service. If not specified, there is no limit.
-        &quot;maxPendingRequests&quot;: 42, # The maximum number of pending requests allowed to the backend service. If not specified, there is no limit.
+        &quot;maxConnections&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
+        &quot;maxPendingRequests&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
         &quot;maxRequests&quot;: 42, # The maximum number of parallel requests that allowed to the backend service. If not specified, there is no limit.
-        &quot;maxRequestsPerConnection&quot;: 42, # Maximum requests for a single connection to the backend service. This parameter is respected by both the HTTP/1.1 and HTTP/2 implementations. If not specified, there is no limit. Setting this parameter to 1 will effectively disable keep alive.
-        &quot;maxRetries&quot;: 42, # The maximum number of parallel retries allowed to the backend cluster. If not specified, the default is 1.
+        &quot;maxRequestsPerConnection&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
+        &quot;maxRetries&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
       },
       &quot;connectionDraining&quot;: { # Message containing connection draining configuration.
         &quot;drainingTimeoutSec&quot;: 42, # Configures a duration timeout for existing requests on a removed backend instance. For supported load balancers and protocols, as described in Enabling connection draining.
@@ -2448,6 +2427,7 @@
       },
       &quot;maxStreamDuration&quot;: { # A Duration represents a fixed-length span of time represented as a count of seconds and fractions of seconds at nanosecond resolution. It is independent of any calendar and concepts like &quot;day&quot; or &quot;month&quot;. Range is approximately 10,000 years. # Specifies the default maximum duration (timeout) for streams to this service. Duration is computed from the beginning of the stream until the response has been completely processed, including all retries. A stream that does not complete in this duration is closed.
           # If not specified, there will be no timeout limit, i.e. the maximum duration is infinite.
+          # This value can be overridden in the PathMatcher configuration of the UrlMap that references this backend service.
           # This field is only allowed when the loadBalancingScheme of the backend service is INTERNAL_SELF_MANAGED.
         &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
         &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
@@ -2755,7 +2735,7 @@
       &quot;subsetting&quot;: { # Subsetting configuration for this BackendService. Currently this is applicable only for Internal TCP/UDP load balancing and Internal HTTP(S) load balancing.
         &quot;policy&quot;: &quot;A String&quot;,
       },
-      &quot;timeoutSec&quot;: 42, # The backend service timeout has a different meaning depending on the type of load balancer. For more information see,  Backend service settings The default is 30 seconds. The full range of timeout values allowed is 1 - 2,147,483,647 seconds.
+      &quot;timeoutSec&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true. Instead, use maxStreamDuration.
     },
   ],
   &quot;kind&quot;: &quot;compute#backendServiceList&quot;, # [Output Only] Type of resource. Always compute#backendServiceList for lists of backend services.
@@ -2908,22 +2888,16 @@
       &quot;A String&quot;,
     ],
   },
-  &quot;circuitBreakers&quot;: { # Settings controlling the volume of connections to a backend service. # Settings controlling the volume of connections to a backend service. If not set, this feature is considered disabled.
-      # 
-      # This field is applicable to either:
-      # - A regional backend service with the service_protocol set to HTTP, HTTPS, or HTTP2, and load_balancing_scheme set to INTERNAL_MANAGED.
-      # - A global backend service with the load_balancing_scheme set to INTERNAL_SELF_MANAGED.
-      # 
-      # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
+  &quot;circuitBreakers&quot;: { # Settings controlling the volume of connections to a backend service.
     &quot;connectTimeout&quot;: { # A Duration represents a fixed-length span of time represented as a count of seconds and fractions of seconds at nanosecond resolution. It is independent of any calendar and concepts like &quot;day&quot; or &quot;month&quot;. Range is approximately 10,000 years. # The timeout for new network connections to hosts.
       &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
       &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
     },
-    &quot;maxConnections&quot;: 42, # The maximum number of connections to the backend service. If not specified, there is no limit.
-    &quot;maxPendingRequests&quot;: 42, # The maximum number of pending requests allowed to the backend service. If not specified, there is no limit.
+    &quot;maxConnections&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
+    &quot;maxPendingRequests&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
     &quot;maxRequests&quot;: 42, # The maximum number of parallel requests that allowed to the backend service. If not specified, there is no limit.
-    &quot;maxRequestsPerConnection&quot;: 42, # Maximum requests for a single connection to the backend service. This parameter is respected by both the HTTP/1.1 and HTTP/2 implementations. If not specified, there is no limit. Setting this parameter to 1 will effectively disable keep alive.
-    &quot;maxRetries&quot;: 42, # The maximum number of parallel retries allowed to the backend cluster. If not specified, the default is 1.
+    &quot;maxRequestsPerConnection&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
+    &quot;maxRetries&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
   },
   &quot;connectionDraining&quot;: { # Message containing connection draining configuration.
     &quot;drainingTimeoutSec&quot;: 42, # Configures a duration timeout for existing requests on a removed backend instance. For supported load balancers and protocols, as described in Enabling connection draining.
@@ -3025,6 +2999,7 @@
   },
   &quot;maxStreamDuration&quot;: { # A Duration represents a fixed-length span of time represented as a count of seconds and fractions of seconds at nanosecond resolution. It is independent of any calendar and concepts like &quot;day&quot; or &quot;month&quot;. Range is approximately 10,000 years. # Specifies the default maximum duration (timeout) for streams to this service. Duration is computed from the beginning of the stream until the response has been completely processed, including all retries. A stream that does not complete in this duration is closed.
       # If not specified, there will be no timeout limit, i.e. the maximum duration is infinite.
+      # This value can be overridden in the PathMatcher configuration of the UrlMap that references this backend service.
       # This field is only allowed when the loadBalancingScheme of the backend service is INTERNAL_SELF_MANAGED.
     &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
     &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
@@ -3332,7 +3307,7 @@
   &quot;subsetting&quot;: { # Subsetting configuration for this BackendService. Currently this is applicable only for Internal TCP/UDP load balancing and Internal HTTP(S) load balancing.
     &quot;policy&quot;: &quot;A String&quot;,
   },
-  &quot;timeoutSec&quot;: 42, # The backend service timeout has a different meaning depending on the type of load balancer. For more information see,  Backend service settings The default is 30 seconds. The full range of timeout values allowed is 1 - 2,147,483,647 seconds.
+  &quot;timeoutSec&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true. Instead, use maxStreamDuration.
 }
 
   requestId: string, An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.
@@ -3722,22 +3697,16 @@
       &quot;A String&quot;,
     ],
   },
-  &quot;circuitBreakers&quot;: { # Settings controlling the volume of connections to a backend service. # Settings controlling the volume of connections to a backend service. If not set, this feature is considered disabled.
-      # 
-      # This field is applicable to either:
-      # - A regional backend service with the service_protocol set to HTTP, HTTPS, or HTTP2, and load_balancing_scheme set to INTERNAL_MANAGED.
-      # - A global backend service with the load_balancing_scheme set to INTERNAL_SELF_MANAGED.
-      # 
-      # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
+  &quot;circuitBreakers&quot;: { # Settings controlling the volume of connections to a backend service.
     &quot;connectTimeout&quot;: { # A Duration represents a fixed-length span of time represented as a count of seconds and fractions of seconds at nanosecond resolution. It is independent of any calendar and concepts like &quot;day&quot; or &quot;month&quot;. Range is approximately 10,000 years. # The timeout for new network connections to hosts.
       &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
       &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
     },
-    &quot;maxConnections&quot;: 42, # The maximum number of connections to the backend service. If not specified, there is no limit.
-    &quot;maxPendingRequests&quot;: 42, # The maximum number of pending requests allowed to the backend service. If not specified, there is no limit.
+    &quot;maxConnections&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
+    &quot;maxPendingRequests&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
     &quot;maxRequests&quot;: 42, # The maximum number of parallel requests that allowed to the backend service. If not specified, there is no limit.
-    &quot;maxRequestsPerConnection&quot;: 42, # Maximum requests for a single connection to the backend service. This parameter is respected by both the HTTP/1.1 and HTTP/2 implementations. If not specified, there is no limit. Setting this parameter to 1 will effectively disable keep alive.
-    &quot;maxRetries&quot;: 42, # The maximum number of parallel retries allowed to the backend cluster. If not specified, the default is 1.
+    &quot;maxRequestsPerConnection&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
+    &quot;maxRetries&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
   },
   &quot;connectionDraining&quot;: { # Message containing connection draining configuration.
     &quot;drainingTimeoutSec&quot;: 42, # Configures a duration timeout for existing requests on a removed backend instance. For supported load balancers and protocols, as described in Enabling connection draining.
@@ -3839,6 +3808,7 @@
   },
   &quot;maxStreamDuration&quot;: { # A Duration represents a fixed-length span of time represented as a count of seconds and fractions of seconds at nanosecond resolution. It is independent of any calendar and concepts like &quot;day&quot; or &quot;month&quot;. Range is approximately 10,000 years. # Specifies the default maximum duration (timeout) for streams to this service. Duration is computed from the beginning of the stream until the response has been completely processed, including all retries. A stream that does not complete in this duration is closed.
       # If not specified, there will be no timeout limit, i.e. the maximum duration is infinite.
+      # This value can be overridden in the PathMatcher configuration of the UrlMap that references this backend service.
       # This field is only allowed when the loadBalancingScheme of the backend service is INTERNAL_SELF_MANAGED.
     &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
     &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
@@ -4146,7 +4116,7 @@
   &quot;subsetting&quot;: { # Subsetting configuration for this BackendService. Currently this is applicable only for Internal TCP/UDP load balancing and Internal HTTP(S) load balancing.
     &quot;policy&quot;: &quot;A String&quot;,
   },
-  &quot;timeoutSec&quot;: 42, # The backend service timeout has a different meaning depending on the type of load balancer. For more information see,  Backend service settings The default is 30 seconds. The full range of timeout values allowed is 1 - 2,147,483,647 seconds.
+  &quot;timeoutSec&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true. Instead, use maxStreamDuration.
 }
 
   requestId: string, An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.
diff --git a/docs/dyn/compute_alpha.forwardingRules.html b/docs/dyn/compute_alpha.forwardingRules.html
index 7211cc7..a95df3e 100644
--- a/docs/dyn/compute_alpha.forwardingRules.html
+++ b/docs/dyn/compute_alpha.forwardingRules.html
@@ -170,17 +170,19 @@
               # For Private Service Connect forwarding rules that forward traffic to Google APIs, IP address must be provided.
           &quot;IPProtocol&quot;: &quot;A String&quot;, # The IP protocol to which this rule applies.
               #
-              # For protocol forwarding, valid options are TCP, UDP, ESP, AH, SCTP and ICMP.
+              # For protocol forwarding, valid options are TCP, UDP, ESP, AH, SCTP, ICMP and L3_DEFAULT.
               #
               # The valid IP protocols are different for different load balancing products:
-              # - Internal TCP/UDP Load Balancing: The load balancing scheme is INTERNAL, and one of TCP, UDP or ALL is valid.
+              # - Internal TCP/UDP Load Balancing: The load balancing scheme is INTERNAL, and one of TCP, UDP or L3_DEFAULT is valid.
               # - Traffic Director: The load balancing scheme is INTERNAL_SELF_MANAGED, and only TCP is valid.
               # - Internal HTTP(S) Load Balancing: The load balancing scheme is INTERNAL_MANAGED, and only TCP is valid.
               # - HTTP(S), SSL Proxy, and TCP Proxy Load Balancing: The load balancing scheme is EXTERNAL and only TCP is valid.
-              # - Network Load Balancing: The load balancing scheme is EXTERNAL, and one of TCP or UDP is valid.
-          &quot;allPorts&quot;: True or False, # This field is used along with the backend_service field for internal load balancing or with the target field for internal TargetInstance. This field cannot be used with port or portRange fields.
+              # - Network Load Balancing: The load balancing scheme is EXTERNAL, and one of TCP, UDP or L3_DEFAULT is valid.
+          &quot;allPorts&quot;: True or False, # This field is used along with the backend_service field for Internal TCP/UDP Load Balancing or Network Load Balancing, or with the target field for internal and external TargetInstance.
               #
-              # When the load balancing scheme is INTERNAL and protocol is TCP/UDP, specify this field to allow packets addressed to any ports will be forwarded to the backends configured with this forwarding rule.
+              # You can only use one of ports and port_range, or allPorts. The three are mutually exclusive.
+              #
+              # For TCP, UDP and SCTP traffic, packets addressed to any ports will be forwarded to the target or backendService.
           &quot;allowGlobalAccess&quot;: True or False, # This field is used along with the backend_service field for internal load balancing or with the target field for internal TargetInstance. If the field is set to TRUE, clients can access ILB from all regions. Otherwise only allows access from clients in the same region as the internal load balancer.
           &quot;backendService&quot;: &quot;A String&quot;, # Identifies the backend service to which the forwarding rule sends traffic. Required for Internal TCP/UDP Load Balancing and Network Load Balancing; must be omitted for all other load balancer types.
           &quot;creationTimestamp&quot;: &quot;A String&quot;, # [Output Only] Creation timestamp in RFC3339 text format.
@@ -247,9 +249,15 @@
               # For regional ForwardingRule, the valid values are PREMIUM and STANDARD. For GlobalForwardingRule, the valid value is PREMIUM.
               #
               # If this field is not specified, it is assumed to be PREMIUM. If IPAddress is specified, this value must be equal to the networkTier of the Address.
-          &quot;portRange&quot;: &quot;A String&quot;, # This field can be used only if: * Load balancing scheme is one of EXTERNAL,  INTERNAL_SELF_MANAGED or INTERNAL_MANAGED, and * IPProtocol is one of TCP, UDP, or SCTP.
+          &quot;portRange&quot;: &quot;A String&quot;, # This field can be used only if:
+              # - Load balancing scheme is one of EXTERNAL,  INTERNAL_SELF_MANAGED or INTERNAL_MANAGED
+              # - IPProtocol is one of TCP, UDP, or SCTP.
               #
-              # Packets addressed to ports in the specified range will be forwarded to target or  backend_service. You can only use one of ports, port_range, or allPorts. The three are mutually exclusive. Forwarding rules with the same [IPAddress, IPProtocol] pair must have disjoint port ranges.
+              # Packets addressed to ports in the specified range will be forwarded to target or  backend_service.
+              #
+              # You can only use one of ports, port_range, or allPorts. The three are mutually exclusive.
+              #
+              # Forwarding rules with the same [IPAddress, IPProtocol] pair must have disjoint ports.
               #
               # Some types of forwarding target have constraints on the acceptable ports:
               # - TargetHttpProxy: 80, 8080
@@ -264,7 +272,7 @@
               #
               # You can specify a list of up to five ports, which can be non-contiguous.
               #
-              # For Internal TCP/UDP Load Balancing, if you specify allPorts, you should not specify ports.
+              # Forwarding rules with the same [IPAddress, IPProtocol] pair must have disjoint ports.
               #
               # For more information, see [Port specifications](/load-balancing/docs/forwarding-rule-concepts#port_specifications).
             &quot;A String&quot;,
@@ -291,6 +299,9 @@
           &quot;serviceName&quot;: &quot;A String&quot;, # [Output Only] The internal fully qualified service name for this Forwarding Rule.
               #
               # This field is only used for internal load balancing.
+          &quot;sourceIpRanges&quot;: [ # If not empty, this Forwarding Rule will only forward the traffic when the source IP address matches one of the IP addresses or CIDR ranges set here. Note that a Forwarding Rule can only have up to 64 source IP ranges, and this field can only be used with a regional Forwarding Rule whose scheme is EXTERNAL. Each source_ip_range entry should be either an IP address (for example, 1.2.3.4) or a CIDR range (for example, 1.2.3.0/24).
+            &quot;A String&quot;,
+          ],
           &quot;subnetwork&quot;: &quot;A String&quot;, # This field is only used for internal load balancing.
               #
               # For internal load balancing, this field identifies the subnetwork that the load balanced IP should belong to for this Forwarding Rule.
@@ -470,17 +481,19 @@
       # For Private Service Connect forwarding rules that forward traffic to Google APIs, IP address must be provided.
   &quot;IPProtocol&quot;: &quot;A String&quot;, # The IP protocol to which this rule applies.
       #
-      # For protocol forwarding, valid options are TCP, UDP, ESP, AH, SCTP and ICMP.
+      # For protocol forwarding, valid options are TCP, UDP, ESP, AH, SCTP, ICMP and L3_DEFAULT.
       #
       # The valid IP protocols are different for different load balancing products:
-      # - Internal TCP/UDP Load Balancing: The load balancing scheme is INTERNAL, and one of TCP, UDP or ALL is valid.
+      # - Internal TCP/UDP Load Balancing: The load balancing scheme is INTERNAL, and one of TCP, UDP or L3_DEFAULT is valid.
       # - Traffic Director: The load balancing scheme is INTERNAL_SELF_MANAGED, and only TCP is valid.
       # - Internal HTTP(S) Load Balancing: The load balancing scheme is INTERNAL_MANAGED, and only TCP is valid.
       # - HTTP(S), SSL Proxy, and TCP Proxy Load Balancing: The load balancing scheme is EXTERNAL and only TCP is valid.
-      # - Network Load Balancing: The load balancing scheme is EXTERNAL, and one of TCP or UDP is valid.
-  &quot;allPorts&quot;: True or False, # This field is used along with the backend_service field for internal load balancing or with the target field for internal TargetInstance. This field cannot be used with port or portRange fields.
+      # - Network Load Balancing: The load balancing scheme is EXTERNAL, and one of TCP, UDP or L3_DEFAULT is valid.
+  &quot;allPorts&quot;: True or False, # This field is used along with the backend_service field for Internal TCP/UDP Load Balancing or Network Load Balancing, or with the target field for internal and external TargetInstance.
       #
-      # When the load balancing scheme is INTERNAL and protocol is TCP/UDP, specify this field to allow packets addressed to any ports will be forwarded to the backends configured with this forwarding rule.
+      # You can only use one of ports and port_range, or allPorts. The three are mutually exclusive.
+      #
+      # For TCP, UDP and SCTP traffic, packets addressed to any ports will be forwarded to the target or backendService.
   &quot;allowGlobalAccess&quot;: True or False, # This field is used along with the backend_service field for internal load balancing or with the target field for internal TargetInstance. If the field is set to TRUE, clients can access ILB from all regions. Otherwise only allows access from clients in the same region as the internal load balancer.
   &quot;backendService&quot;: &quot;A String&quot;, # Identifies the backend service to which the forwarding rule sends traffic. Required for Internal TCP/UDP Load Balancing and Network Load Balancing; must be omitted for all other load balancer types.
   &quot;creationTimestamp&quot;: &quot;A String&quot;, # [Output Only] Creation timestamp in RFC3339 text format.
@@ -547,9 +560,15 @@
       # For regional ForwardingRule, the valid values are PREMIUM and STANDARD. For GlobalForwardingRule, the valid value is PREMIUM.
       #
       # If this field is not specified, it is assumed to be PREMIUM. If IPAddress is specified, this value must be equal to the networkTier of the Address.
-  &quot;portRange&quot;: &quot;A String&quot;, # This field can be used only if: * Load balancing scheme is one of EXTERNAL,  INTERNAL_SELF_MANAGED or INTERNAL_MANAGED, and * IPProtocol is one of TCP, UDP, or SCTP.
+  &quot;portRange&quot;: &quot;A String&quot;, # This field can be used only if:
+      # - Load balancing scheme is one of EXTERNAL,  INTERNAL_SELF_MANAGED or INTERNAL_MANAGED
+      # - IPProtocol is one of TCP, UDP, or SCTP.
       #
-      # Packets addressed to ports in the specified range will be forwarded to target or  backend_service. You can only use one of ports, port_range, or allPorts. The three are mutually exclusive. Forwarding rules with the same [IPAddress, IPProtocol] pair must have disjoint port ranges.
+      # Packets addressed to ports in the specified range will be forwarded to target or  backend_service.
+      #
+      # You can only use one of ports, port_range, or allPorts. The three are mutually exclusive.
+      #
+      # Forwarding rules with the same [IPAddress, IPProtocol] pair must have disjoint ports.
       #
       # Some types of forwarding target have constraints on the acceptable ports:
       # - TargetHttpProxy: 80, 8080
@@ -564,7 +583,7 @@
       #
       # You can specify a list of up to five ports, which can be non-contiguous.
       #
-      # For Internal TCP/UDP Load Balancing, if you specify allPorts, you should not specify ports.
+      # Forwarding rules with the same [IPAddress, IPProtocol] pair must have disjoint ports.
       #
       # For more information, see [Port specifications](/load-balancing/docs/forwarding-rule-concepts#port_specifications).
     &quot;A String&quot;,
@@ -591,6 +610,9 @@
   &quot;serviceName&quot;: &quot;A String&quot;, # [Output Only] The internal fully qualified service name for this Forwarding Rule.
       #
       # This field is only used for internal load balancing.
+  &quot;sourceIpRanges&quot;: [ # If not empty, this Forwarding Rule will only forward the traffic when the source IP address matches one of the IP addresses or CIDR ranges set here. Note that a Forwarding Rule can only have up to 64 source IP ranges, and this field can only be used with a regional Forwarding Rule whose scheme is EXTERNAL. Each source_ip_range entry should be either an IP address (for example, 1.2.3.4) or a CIDR range (for example, 1.2.3.0/24).
+    &quot;A String&quot;,
+  ],
   &quot;subnetwork&quot;: &quot;A String&quot;, # This field is only used for internal load balancing.
       #
       # For internal load balancing, this field identifies the subnetwork that the load balanced IP should belong to for this Forwarding Rule.
@@ -638,17 +660,19 @@
       # For Private Service Connect forwarding rules that forward traffic to Google APIs, IP address must be provided.
   &quot;IPProtocol&quot;: &quot;A String&quot;, # The IP protocol to which this rule applies.
       # 
-      # For protocol forwarding, valid options are TCP, UDP, ESP, AH, SCTP and ICMP.
+      # For protocol forwarding, valid options are TCP, UDP, ESP, AH, SCTP, ICMP and L3_DEFAULT.
       # 
       # The valid IP protocols are different for different load balancing products:
-      # - Internal TCP/UDP Load Balancing: The load balancing scheme is INTERNAL, and one of TCP, UDP or ALL is valid.
+      # - Internal TCP/UDP Load Balancing: The load balancing scheme is INTERNAL, and one of TCP, UDP or L3_DEFAULT is valid.
       # - Traffic Director: The load balancing scheme is INTERNAL_SELF_MANAGED, and only TCP is valid.
       # - Internal HTTP(S) Load Balancing: The load balancing scheme is INTERNAL_MANAGED, and only TCP is valid.
       # - HTTP(S), SSL Proxy, and TCP Proxy Load Balancing: The load balancing scheme is EXTERNAL and only TCP is valid.
-      # - Network Load Balancing: The load balancing scheme is EXTERNAL, and one of TCP or UDP is valid.
-  &quot;allPorts&quot;: True or False, # This field is used along with the backend_service field for internal load balancing or with the target field for internal TargetInstance. This field cannot be used with port or portRange fields.
+      # - Network Load Balancing: The load balancing scheme is EXTERNAL, and one of TCP, UDP or L3_DEFAULT is valid.
+  &quot;allPorts&quot;: True or False, # This field is used along with the backend_service field for Internal TCP/UDP Load Balancing or Network Load Balancing, or with the target field for internal and external TargetInstance.
       # 
-      # When the load balancing scheme is INTERNAL and protocol is TCP/UDP, specify this field to allow packets addressed to any ports will be forwarded to the backends configured with this forwarding rule.
+      # You can only use one of ports and port_range, or allPorts. The three are mutually exclusive.
+      # 
+      # For TCP, UDP and SCTP traffic, packets addressed to any ports will be forwarded to the target or backendService.
   &quot;allowGlobalAccess&quot;: True or False, # This field is used along with the backend_service field for internal load balancing or with the target field for internal TargetInstance. If the field is set to TRUE, clients can access ILB from all regions. Otherwise only allows access from clients in the same region as the internal load balancer.
   &quot;backendService&quot;: &quot;A String&quot;, # Identifies the backend service to which the forwarding rule sends traffic. Required for Internal TCP/UDP Load Balancing and Network Load Balancing; must be omitted for all other load balancer types.
   &quot;creationTimestamp&quot;: &quot;A String&quot;, # [Output Only] Creation timestamp in RFC3339 text format.
@@ -715,9 +739,15 @@
       # For regional ForwardingRule, the valid values are PREMIUM and STANDARD. For GlobalForwardingRule, the valid value is PREMIUM.
       # 
       # If this field is not specified, it is assumed to be PREMIUM. If IPAddress is specified, this value must be equal to the networkTier of the Address.
-  &quot;portRange&quot;: &quot;A String&quot;, # This field can be used only if: * Load balancing scheme is one of EXTERNAL,  INTERNAL_SELF_MANAGED or INTERNAL_MANAGED, and * IPProtocol is one of TCP, UDP, or SCTP.
+  &quot;portRange&quot;: &quot;A String&quot;, # This field can be used only if:
+      # - Load balancing scheme is one of EXTERNAL,  INTERNAL_SELF_MANAGED or INTERNAL_MANAGED
+      # - IPProtocol is one of TCP, UDP, or SCTP.
       # 
-      # Packets addressed to ports in the specified range will be forwarded to target or  backend_service. You can only use one of ports, port_range, or allPorts. The three are mutually exclusive. Forwarding rules with the same [IPAddress, IPProtocol] pair must have disjoint port ranges.
+      # Packets addressed to ports in the specified range will be forwarded to target or  backend_service.
+      # 
+      # You can only use one of ports, port_range, or allPorts. The three are mutually exclusive.
+      # 
+      # Forwarding rules with the same [IPAddress, IPProtocol] pair must have disjoint ports.
       # 
       # Some types of forwarding target have constraints on the acceptable ports:
       # - TargetHttpProxy: 80, 8080
@@ -732,7 +762,7 @@
       # 
       # You can specify a list of up to five ports, which can be non-contiguous.
       # 
-      # For Internal TCP/UDP Load Balancing, if you specify allPorts, you should not specify ports.
+      # Forwarding rules with the same [IPAddress, IPProtocol] pair must have disjoint ports.
       # 
       # For more information, see [Port specifications](/load-balancing/docs/forwarding-rule-concepts#port_specifications).
     &quot;A String&quot;,
@@ -759,6 +789,9 @@
   &quot;serviceName&quot;: &quot;A String&quot;, # [Output Only] The internal fully qualified service name for this Forwarding Rule.
       # 
       # This field is only used for internal load balancing.
+  &quot;sourceIpRanges&quot;: [ # If not empty, this Forwarding Rule will only forward the traffic when the source IP address matches one of the IP addresses or CIDR ranges set here. Note that a Forwarding Rule can only have up to 64 source IP ranges, and this field can only be used with a regional Forwarding Rule whose scheme is EXTERNAL. Each source_ip_range entry should be either an IP address (for example, 1.2.3.4) or a CIDR range (for example, 1.2.3.0/24).
+    &quot;A String&quot;,
+  ],
   &quot;subnetwork&quot;: &quot;A String&quot;, # This field is only used for internal load balancing.
       # 
       # For internal load balancing, this field identifies the subnetwork that the load balanced IP should belong to for this Forwarding Rule.
@@ -895,17 +928,19 @@
           # For Private Service Connect forwarding rules that forward traffic to Google APIs, IP address must be provided.
       &quot;IPProtocol&quot;: &quot;A String&quot;, # The IP protocol to which this rule applies.
           #
-          # For protocol forwarding, valid options are TCP, UDP, ESP, AH, SCTP and ICMP.
+          # For protocol forwarding, valid options are TCP, UDP, ESP, AH, SCTP, ICMP and L3_DEFAULT.
           #
           # The valid IP protocols are different for different load balancing products:
-          # - Internal TCP/UDP Load Balancing: The load balancing scheme is INTERNAL, and one of TCP, UDP or ALL is valid.
+          # - Internal TCP/UDP Load Balancing: The load balancing scheme is INTERNAL, and one of TCP, UDP or L3_DEFAULT is valid.
           # - Traffic Director: The load balancing scheme is INTERNAL_SELF_MANAGED, and only TCP is valid.
           # - Internal HTTP(S) Load Balancing: The load balancing scheme is INTERNAL_MANAGED, and only TCP is valid.
           # - HTTP(S), SSL Proxy, and TCP Proxy Load Balancing: The load balancing scheme is EXTERNAL and only TCP is valid.
-          # - Network Load Balancing: The load balancing scheme is EXTERNAL, and one of TCP or UDP is valid.
-      &quot;allPorts&quot;: True or False, # This field is used along with the backend_service field for internal load balancing or with the target field for internal TargetInstance. This field cannot be used with port or portRange fields.
+          # - Network Load Balancing: The load balancing scheme is EXTERNAL, and one of TCP, UDP or L3_DEFAULT is valid.
+      &quot;allPorts&quot;: True or False, # This field is used along with the backend_service field for Internal TCP/UDP Load Balancing or Network Load Balancing, or with the target field for internal and external TargetInstance.
           #
-          # When the load balancing scheme is INTERNAL and protocol is TCP/UDP, specify this field to allow packets addressed to any ports will be forwarded to the backends configured with this forwarding rule.
+          # You can only use one of ports and port_range, or allPorts. The three are mutually exclusive.
+          #
+          # For TCP, UDP and SCTP traffic, packets addressed to any ports will be forwarded to the target or backendService.
       &quot;allowGlobalAccess&quot;: True or False, # This field is used along with the backend_service field for internal load balancing or with the target field for internal TargetInstance. If the field is set to TRUE, clients can access ILB from all regions. Otherwise only allows access from clients in the same region as the internal load balancer.
       &quot;backendService&quot;: &quot;A String&quot;, # Identifies the backend service to which the forwarding rule sends traffic. Required for Internal TCP/UDP Load Balancing and Network Load Balancing; must be omitted for all other load balancer types.
       &quot;creationTimestamp&quot;: &quot;A String&quot;, # [Output Only] Creation timestamp in RFC3339 text format.
@@ -972,9 +1007,15 @@
           # For regional ForwardingRule, the valid values are PREMIUM and STANDARD. For GlobalForwardingRule, the valid value is PREMIUM.
           #
           # If this field is not specified, it is assumed to be PREMIUM. If IPAddress is specified, this value must be equal to the networkTier of the Address.
-      &quot;portRange&quot;: &quot;A String&quot;, # This field can be used only if: * Load balancing scheme is one of EXTERNAL,  INTERNAL_SELF_MANAGED or INTERNAL_MANAGED, and * IPProtocol is one of TCP, UDP, or SCTP.
+      &quot;portRange&quot;: &quot;A String&quot;, # This field can be used only if:
+          # - Load balancing scheme is one of EXTERNAL,  INTERNAL_SELF_MANAGED or INTERNAL_MANAGED
+          # - IPProtocol is one of TCP, UDP, or SCTP.
           #
-          # Packets addressed to ports in the specified range will be forwarded to target or  backend_service. You can only use one of ports, port_range, or allPorts. The three are mutually exclusive. Forwarding rules with the same [IPAddress, IPProtocol] pair must have disjoint port ranges.
+          # Packets addressed to ports in the specified range will be forwarded to target or  backend_service.
+          #
+          # You can only use one of ports, port_range, or allPorts. The three are mutually exclusive.
+          #
+          # Forwarding rules with the same [IPAddress, IPProtocol] pair must have disjoint ports.
           #
           # Some types of forwarding target have constraints on the acceptable ports:
           # - TargetHttpProxy: 80, 8080
@@ -989,7 +1030,7 @@
           #
           # You can specify a list of up to five ports, which can be non-contiguous.
           #
-          # For Internal TCP/UDP Load Balancing, if you specify allPorts, you should not specify ports.
+          # Forwarding rules with the same [IPAddress, IPProtocol] pair must have disjoint ports.
           #
           # For more information, see [Port specifications](/load-balancing/docs/forwarding-rule-concepts#port_specifications).
         &quot;A String&quot;,
@@ -1016,6 +1057,9 @@
       &quot;serviceName&quot;: &quot;A String&quot;, # [Output Only] The internal fully qualified service name for this Forwarding Rule.
           #
           # This field is only used for internal load balancing.
+      &quot;sourceIpRanges&quot;: [ # If not empty, this Forwarding Rule will only forward the traffic when the source IP address matches one of the IP addresses or CIDR ranges set here. Note that a Forwarding Rule can only have up to 64 source IP ranges, and this field can only be used with a regional Forwarding Rule whose scheme is EXTERNAL. Each source_ip_range entry should be either an IP address (for example, 1.2.3.4) or a CIDR range (for example, 1.2.3.0/24).
+        &quot;A String&quot;,
+      ],
       &quot;subnetwork&quot;: &quot;A String&quot;, # This field is only used for internal load balancing.
           #
           # For internal load balancing, this field identifies the subnetwork that the load balanced IP should belong to for this Forwarding Rule.
@@ -1094,17 +1138,19 @@
       # For Private Service Connect forwarding rules that forward traffic to Google APIs, IP address must be provided.
   &quot;IPProtocol&quot;: &quot;A String&quot;, # The IP protocol to which this rule applies.
       # 
-      # For protocol forwarding, valid options are TCP, UDP, ESP, AH, SCTP and ICMP.
+      # For protocol forwarding, valid options are TCP, UDP, ESP, AH, SCTP, ICMP and L3_DEFAULT.
       # 
       # The valid IP protocols are different for different load balancing products:
-      # - Internal TCP/UDP Load Balancing: The load balancing scheme is INTERNAL, and one of TCP, UDP or ALL is valid.
+      # - Internal TCP/UDP Load Balancing: The load balancing scheme is INTERNAL, and one of TCP, UDP or L3_DEFAULT is valid.
       # - Traffic Director: The load balancing scheme is INTERNAL_SELF_MANAGED, and only TCP is valid.
       # - Internal HTTP(S) Load Balancing: The load balancing scheme is INTERNAL_MANAGED, and only TCP is valid.
       # - HTTP(S), SSL Proxy, and TCP Proxy Load Balancing: The load balancing scheme is EXTERNAL and only TCP is valid.
-      # - Network Load Balancing: The load balancing scheme is EXTERNAL, and one of TCP or UDP is valid.
-  &quot;allPorts&quot;: True or False, # This field is used along with the backend_service field for internal load balancing or with the target field for internal TargetInstance. This field cannot be used with port or portRange fields.
+      # - Network Load Balancing: The load balancing scheme is EXTERNAL, and one of TCP, UDP or L3_DEFAULT is valid.
+  &quot;allPorts&quot;: True or False, # This field is used along with the backend_service field for Internal TCP/UDP Load Balancing or Network Load Balancing, or with the target field for internal and external TargetInstance.
       # 
-      # When the load balancing scheme is INTERNAL and protocol is TCP/UDP, specify this field to allow packets addressed to any ports will be forwarded to the backends configured with this forwarding rule.
+      # You can only use one of ports and port_range, or allPorts. The three are mutually exclusive.
+      # 
+      # For TCP, UDP and SCTP traffic, packets addressed to any ports will be forwarded to the target or backendService.
   &quot;allowGlobalAccess&quot;: True or False, # This field is used along with the backend_service field for internal load balancing or with the target field for internal TargetInstance. If the field is set to TRUE, clients can access ILB from all regions. Otherwise only allows access from clients in the same region as the internal load balancer.
   &quot;backendService&quot;: &quot;A String&quot;, # Identifies the backend service to which the forwarding rule sends traffic. Required for Internal TCP/UDP Load Balancing and Network Load Balancing; must be omitted for all other load balancer types.
   &quot;creationTimestamp&quot;: &quot;A String&quot;, # [Output Only] Creation timestamp in RFC3339 text format.
@@ -1171,9 +1217,15 @@
       # For regional ForwardingRule, the valid values are PREMIUM and STANDARD. For GlobalForwardingRule, the valid value is PREMIUM.
       # 
       # If this field is not specified, it is assumed to be PREMIUM. If IPAddress is specified, this value must be equal to the networkTier of the Address.
-  &quot;portRange&quot;: &quot;A String&quot;, # This field can be used only if: * Load balancing scheme is one of EXTERNAL,  INTERNAL_SELF_MANAGED or INTERNAL_MANAGED, and * IPProtocol is one of TCP, UDP, or SCTP.
+  &quot;portRange&quot;: &quot;A String&quot;, # This field can be used only if:
+      # - Load balancing scheme is one of EXTERNAL,  INTERNAL_SELF_MANAGED or INTERNAL_MANAGED
+      # - IPProtocol is one of TCP, UDP, or SCTP.
       # 
-      # Packets addressed to ports in the specified range will be forwarded to target or  backend_service. You can only use one of ports, port_range, or allPorts. The three are mutually exclusive. Forwarding rules with the same [IPAddress, IPProtocol] pair must have disjoint port ranges.
+      # Packets addressed to ports in the specified range will be forwarded to target or  backend_service.
+      # 
+      # You can only use one of ports, port_range, or allPorts. The three are mutually exclusive.
+      # 
+      # Forwarding rules with the same [IPAddress, IPProtocol] pair must have disjoint ports.
       # 
       # Some types of forwarding target have constraints on the acceptable ports:
       # - TargetHttpProxy: 80, 8080
@@ -1188,7 +1240,7 @@
       # 
       # You can specify a list of up to five ports, which can be non-contiguous.
       # 
-      # For Internal TCP/UDP Load Balancing, if you specify allPorts, you should not specify ports.
+      # Forwarding rules with the same [IPAddress, IPProtocol] pair must have disjoint ports.
       # 
       # For more information, see [Port specifications](/load-balancing/docs/forwarding-rule-concepts#port_specifications).
     &quot;A String&quot;,
@@ -1215,6 +1267,9 @@
   &quot;serviceName&quot;: &quot;A String&quot;, # [Output Only] The internal fully qualified service name for this Forwarding Rule.
       # 
       # This field is only used for internal load balancing.
+  &quot;sourceIpRanges&quot;: [ # If not empty, this Forwarding Rule will only forward the traffic when the source IP address matches one of the IP addresses or CIDR ranges set here. Note that a Forwarding Rule can only have up to 64 source IP ranges, and this field can only be used with a regional Forwarding Rule whose scheme is EXTERNAL. Each source_ip_range entry should be either an IP address (for example, 1.2.3.4) or a CIDR range (for example, 1.2.3.0/24).
+    &quot;A String&quot;,
+  ],
   &quot;subnetwork&quot;: &quot;A String&quot;, # This field is only used for internal load balancing.
       # 
       # For internal load balancing, this field identifies the subnetwork that the load balanced IP should belong to for this Forwarding Rule.
diff --git a/docs/dyn/compute_alpha.futureReservations.html b/docs/dyn/compute_alpha.futureReservations.html
new file mode 100644
index 0000000..1515e64
--- /dev/null
+++ b/docs/dyn/compute_alpha.futureReservations.html
@@ -0,0 +1,871 @@
+<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="compute_alpha.html">Compute Engine API</a> . <a href="compute_alpha.futureReservations.html">futureReservations</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#aggregatedList">aggregatedList(project, filter=None, includeAllScopes=None, maxResults=None, orderBy=None, pageToken=None, returnPartialSuccess=None)</a></code></p>
+<p class="firstline">Retrieves an aggregated list of future reservations.</p>
+<p class="toc_element">
+  <code><a href="#aggregatedList_next">aggregatedList_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="#cancel">cancel(project, zone, futureReservation, requestId=None)</a></code></p>
+<p class="firstline">Cancel the specified future reservation.</p>
+<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="#delete">delete(project, zone, futureReservation, requestId=None)</a></code></p>
+<p class="firstline">Deletes the specified future reservation.</p>
+<p class="toc_element">
+  <code><a href="#get">get(project, zone, futureReservation)</a></code></p>
+<p class="firstline">Retrieves information about the specified future reservation.</p>
+<p class="toc_element">
+  <code><a href="#insert">insert(project, zone, body=None, requestId=None)</a></code></p>
+<p class="firstline">Creates a new Future Reservation.</p>
+<p class="toc_element">
+  <code><a href="#list">list(project, zone, filter=None, maxResults=None, orderBy=None, pageToken=None, returnPartialSuccess=None)</a></code></p>
+<p class="firstline">A list of all the future reservations that have been configured for the specified project in specified zone.</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="#update">update(project, zone, futureReservation, body=None, paths=None, requestId=None)</a></code></p>
+<p class="firstline">Updates the specified future reservation.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="aggregatedList">aggregatedList(project, filter=None, includeAllScopes=None, maxResults=None, orderBy=None, pageToken=None, returnPartialSuccess=None)</code>
+  <pre>Retrieves an aggregated list of future reservations.
+
+Args:
+  project: string, Project ID for this request. (required)
+  filter: string, A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `&gt;`, or `&lt;`.
+
+For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.
+
+You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels.
+
+To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = &quot;Intel Skylake&quot;) ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = &quot;Intel Skylake&quot;) OR (cpuPlatform = &quot;Intel Broadwell&quot;) AND (scheduling.automaticRestart = true) ```
+  includeAllScopes: boolean, Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.
+  maxResults: integer, The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)
+  orderBy: string, Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.
+
+You can also sort results in descending order based on the creation timestamp using `orderBy=&quot;creationTimestamp desc&quot;`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first.
+
+Currently, only sorting by `name` or `creationTimestamp desc` is supported.
+  pageToken: string, Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.
+  returnPartialSuccess: boolean, Opt-in for partial success behavior which provides partial results in case of failure. The default value is false.
+
+Returns:
+  An object of the form:
+
+    { # Contains a list of future reservations.
+  &quot;etag&quot;: &quot;A String&quot;,
+  &quot;id&quot;: &quot;A String&quot;, # [Output Only] Unique identifier for the resource; defined by the server.
+  &quot;items&quot;: { # A list of Future reservation resources.
+    &quot;a_key&quot;: { # Name of the scope containing this set of future reservations.
+      &quot;resources&quot;: [ # A list of future reservations contained in this scope.
+        {
+          &quot;creationTimestamp&quot;: &quot;A String&quot;, # [Output Only] The creation timestamp for this future reservation in RFC3339 text format.
+          &quot;description&quot;: &quot;A String&quot;, # An optional description of this resource. Provide this property when you create the future reservation.
+          &quot;id&quot;: &quot;A String&quot;, # [Output Only] A unique identifier for this future reservation. The server defines this identifier.
+          &quot;kind&quot;: &quot;compute#futureReservation&quot;, # [Output Only] Type of the resource. Always compute#futureReservation for future reservations.
+          &quot;name&quot;: &quot;A String&quot;, # The name of the resource, provided by the client when initially creating the resource. The resource name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
+          &quot;namePrefix&quot;: &quot;A String&quot;, # Name prefix for the reservations to be created at the time of delivery. The name prefix must comply with RFC1035. Maximum allowed length for name prefix is 20. Automatically created reservations name format will be -date-####.
+          &quot;selfLink&quot;: &quot;A String&quot;, # [Output Only] Server-defined fully-qualified URL for this resource.
+          &quot;selfLinkWithId&quot;: &quot;A String&quot;, # [Output Only] Server-defined URL for this resource with the resource id.
+          &quot;shareSettings&quot;: { # The share setting for reservations and sole tenancy node groups. # List of Projects/Folders to share with.
+            &quot;projects&quot;: [ # A List of Project names to specify consumer projects for this shared-reservation. This is only valid when share_type&#x27;s value is SPECIFIC_PROJECTS.
+              &quot;A String&quot;,
+            ],
+            &quot;shareType&quot;: &quot;A String&quot;, # Type of sharing for this shared-reservation
+          },
+          &quot;specificSkuProperties&quot;: { # Future Reservation configuration to indicate instance properties and total count.
+            &quot;instanceProperties&quot;: { # Properties of the SKU instances being reserved. Next ID: 9 # Properties of the SKU instances being reserved.
+              &quot;guestAccelerators&quot;: [ # Specifies accelerator type and count.
+                { # A specification of the type and number of accelerator cards attached to the instance.
+                  &quot;acceleratorCount&quot;: 42, # The number of the guest accelerator cards exposed to this instance.
+                  &quot;acceleratorType&quot;: &quot;A String&quot;, # Full or partial URL of the accelerator type resource to attach to this instance. For example: projects/my-project/zones/us-central1-c/acceleratorTypes/nvidia-tesla-p100 If you are creating an instance template, specify only the accelerator name. See GPUs on Compute Engine for a full list of accelerator types.
+                },
+              ],
+              &quot;localSsds&quot;: [ # Specifies amount of local ssd to reserve with each instance. The type of disk is local-ssd.
+                {
+                  &quot;diskSizeGb&quot;: &quot;A String&quot;, # Specifies the size of the disk in base-2 GB.
+                  &quot;interface&quot;: &quot;A String&quot;, # Specifies the disk interface to use for attaching this disk, which is either SCSI or NVME. The default is SCSI. For performance characteristics of SCSI over NVMe, see Local SSD performance.
+                },
+              ],
+              &quot;locationHint&quot;: &quot;A String&quot;, # An opaque location hint used to place the allocation close to other resources. This field is for use by internal tools that use the public API.
+              &quot;machineType&quot;: &quot;A String&quot;, # Specifies type of machine (name only) which has fixed number of vCPUs and fixed amount of memory. This also includes specifying custom machine type following custom-NUMBER_OF_CPUS-AMOUNT_OF_MEMORY pattern.
+              &quot;maintenanceFreezeDurationHours&quot;: 42, # Specifies the number of hours after reservation creation where instances using the reservation won&#x27;t be scheduled for maintenance.
+              &quot;maintenanceInterval&quot;: &quot;A String&quot;, # For more information about maintenance intervals, see Setting maintenance intervals.
+              &quot;minCpuPlatform&quot;: &quot;A String&quot;, # Minimum cpu platform the reservation.
+            },
+            &quot;totalCount&quot;: &quot;A String&quot;, # Total number of instances for which capacity assurance is requested at a future time period.
+          },
+          &quot;status&quot;: { # [Output only] Represents status related to the future reservation. # [Output only] Status of the Future Reservation
+            &quot;autoCreatedReservations&quot;: [ # Fully qualified urls of the automatically created reservations at start_time.
+              &quot;A String&quot;,
+            ],
+            &quot;fulfilledCount&quot;: &quot;A String&quot;, # This count indicates the fulfilled capacity so far. This is set during &quot;PROVISIONING&quot; state. This count also includes capacity delivered as part of existing matching reservations.
+            &quot;lockTime&quot;: &quot;A String&quot;, # Time when Future Reservation would become LOCKED, after which no modifications to Future Reservation will be allowed. Applicable only after the Future Reservation is in the APPROVED state. The lock_time is an RFC3339 string. The procurement_status will transition to PROCURING state at this time. TODO(b/183994731): Replace with Timestamp.
+            &quot;procurementStatus&quot;: &quot;A String&quot;, # Current state of this Future Reservation
+          },
+          &quot;timeWindow&quot;: { # Time window for this Future Reservation.
+            &quot;duration&quot;: { # A Duration represents a fixed-length span of time represented as a count of seconds and fractions of seconds at nanosecond resolution. It is independent of any calendar and concepts like &quot;day&quot; or &quot;month&quot;. Range is approximately 10,000 years.
+              &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
+              &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
+            },
+            &quot;endTime&quot;: &quot;A String&quot;, # TODO(b/183994731): Replace with Timestamp.
+            &quot;startTime&quot;: &quot;A String&quot;, # Start time of the Future Reservation. The start_time is an RFC3339 string. TODO(b/183994731): Replace with Timestamp.
+          },
+          &quot;zone&quot;: &quot;A String&quot;, # [Output Only] URL of the Zone where this future reservation resides.
+        },
+      ],
+      &quot;warning&quot;: { # Informational warning which replaces the list of future reservations when the list is empty.
+        &quot;code&quot;: &quot;A String&quot;, # [Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.
+        &quot;data&quot;: [ # [Output Only] Metadata about this warning in key: value format. For example:
+            # &quot;data&quot;: [ { &quot;key&quot;: &quot;scope&quot;, &quot;value&quot;: &quot;zones/us-east1-d&quot; }
+          {
+            &quot;key&quot;: &quot;A String&quot;, # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).
+            &quot;value&quot;: &quot;A String&quot;, # [Output Only] A warning data value corresponding to the key.
+          },
+        ],
+        &quot;message&quot;: &quot;A String&quot;, # [Output Only] A human-readable description of the warning code.
+      },
+    },
+  },
+  &quot;kind&quot;: &quot;compute#futureReservationsAggregatedListResponse&quot;, # Type of resource.
+  &quot;nextPageToken&quot;: &quot;A String&quot;, # [Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.
+  &quot;selfLink&quot;: &quot;A String&quot;, # [Output Only] Server-defined URL for this resource.
+  &quot;unreachables&quot;: [ # [Output Only] Unreachable resources.
+    &quot;A String&quot;,
+  ],
+  &quot;warning&quot;: { # [Output Only] Informational warning message.
+    &quot;code&quot;: &quot;A String&quot;, # [Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.
+    &quot;data&quot;: [ # [Output Only] Metadata about this warning in key: value format. For example:
+        # &quot;data&quot;: [ { &quot;key&quot;: &quot;scope&quot;, &quot;value&quot;: &quot;zones/us-east1-d&quot; }
+      {
+        &quot;key&quot;: &quot;A String&quot;, # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).
+        &quot;value&quot;: &quot;A String&quot;, # [Output Only] A warning data value corresponding to the key.
+      },
+    ],
+    &quot;message&quot;: &quot;A String&quot;, # [Output Only] A human-readable description of the warning code.
+  },
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="aggregatedList_next">aggregatedList_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="cancel">cancel(project, zone, futureReservation, requestId=None)</code>
+  <pre>Cancel the specified future reservation.
+
+Args:
+  project: string, Project ID for this request. (required)
+  zone: string, Name of the zone for this request. Name should conform to RFC1035. (required)
+  futureReservation: string, Name of the future reservation to retrieve. Name should conform to RFC1035. (required)
+  requestId: string, An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.
+
+For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.
+
+The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
+
+Returns:
+  An object of the form:
+
+    { # Represents an Operation resource.
+    #
+    # Google Compute Engine has three Operation resources:
+    #
+    # * [Global](/compute/docs/reference/rest/{$api_version}/globalOperations) * [Regional](/compute/docs/reference/rest/{$api_version}/regionOperations) * [Zonal](/compute/docs/reference/rest/{$api_version}/zoneOperations)
+    #
+    # You can use an operation resource to manage asynchronous API requests. For more information, read Handling API responses.
+    #
+    # Operations can be global, regional or zonal.
+    # - For global operations, use the `globalOperations` resource.
+    # - For regional operations, use the `regionOperations` resource.
+    # - For zonal operations, use the `zonalOperations` resource.
+    #
+    # For more information, read  Global, Regional, and Zonal Resources. (== resource_for {$api_version}.globalOperations ==) (== resource_for {$api_version}.regionOperations ==) (== resource_for {$api_version}.zoneOperations ==)
+  &quot;clientOperationId&quot;: &quot;A String&quot;, # [Output Only] The value of `requestId` if you provided it in the request. Not present otherwise.
+  &quot;creationTimestamp&quot;: &quot;A String&quot;, # [Deprecated] This field is deprecated.
+  &quot;description&quot;: &quot;A String&quot;, # [Output Only] A textual description of the operation, which is set when the operation is created.
+  &quot;endTime&quot;: &quot;A String&quot;, # [Output Only] The time that this operation was completed. This value is in RFC3339 text format.
+  &quot;error&quot;: { # [Output Only] If errors are generated during processing of the operation, this field will be populated.
+    &quot;errors&quot;: [ # [Output Only] The array of errors encountered while processing this operation.
+      {
+        &quot;code&quot;: &quot;A String&quot;, # [Output Only] The error type identifier for this error.
+        &quot;location&quot;: &quot;A String&quot;, # [Output Only] Indicates the field in the request that caused the error. This property is optional.
+        &quot;message&quot;: &quot;A String&quot;, # [Output Only] An optional, human-readable error message.
+      },
+    ],
+  },
+  &quot;httpErrorMessage&quot;: &quot;A String&quot;, # [Output Only] If the operation fails, this field contains the HTTP error message that was returned, such as `NOT FOUND`.
+  &quot;httpErrorStatusCode&quot;: 42, # [Output Only] If the operation fails, this field contains the HTTP error status code that was returned. For example, a `404` means the resource was not found.
+  &quot;id&quot;: &quot;A String&quot;, # [Output Only] The unique identifier for the operation. This identifier is defined by the server.
+  &quot;insertTime&quot;: &quot;A String&quot;, # [Output Only] The time that this operation was requested. This value is in RFC3339 text format.
+  &quot;kind&quot;: &quot;compute#operation&quot;, # [Output Only] Type of the resource. Always `compute#operation` for Operation resources.
+  &quot;name&quot;: &quot;A String&quot;, # [Output Only] Name of the operation.
+  &quot;operationGroupId&quot;: &quot;A String&quot;, # [Output Only] An ID that represents a group of operations, such as when a group of operations results from a `bulkInsert` API request.
+  &quot;operationType&quot;: &quot;A String&quot;, # [Output Only] The type of operation, such as `insert`, `update`, or `delete`, and so on.
+  &quot;progress&quot;: 42, # [Output Only] An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess when the operation will be complete. This number should monotonically increase as the operation progresses.
+  &quot;region&quot;: &quot;A String&quot;, # [Output Only] The URL of the region where the operation resides. Only applicable when performing regional operations.
+  &quot;selfLink&quot;: &quot;A String&quot;, # [Output Only] Server-defined URL for the resource.
+  &quot;selfLinkWithId&quot;: &quot;A String&quot;, # [Output Only] Server-defined URL for this resource with the resource id.
+  &quot;startTime&quot;: &quot;A String&quot;, # [Output Only] The time that this operation was started by the server. This value is in RFC3339 text format.
+  &quot;status&quot;: &quot;A String&quot;, # [Output Only] The status of the operation, which can be one of the following: `PENDING`, `RUNNING`, or `DONE`.
+  &quot;statusMessage&quot;: &quot;A String&quot;, # [Output Only] An optional textual description of the current status of the operation.
+  &quot;targetId&quot;: &quot;A String&quot;, # [Output Only] The unique target ID, which identifies a specific incarnation of the target resource.
+  &quot;targetLink&quot;: &quot;A String&quot;, # [Output Only] The URL of the resource that the operation modifies. For operations related to creating a snapshot, this points to the persistent disk that the snapshot was created from.
+  &quot;user&quot;: &quot;A String&quot;, # [Output Only] User who requested the operation, for example: `user@example.com`.
+  &quot;warnings&quot;: [ # [Output Only] If warning messages are generated during processing of the operation, this field will be populated.
+    {
+      &quot;code&quot;: &quot;A String&quot;, # [Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.
+      &quot;data&quot;: [ # [Output Only] Metadata about this warning in key: value format. For example:
+          # &quot;data&quot;: [ { &quot;key&quot;: &quot;scope&quot;, &quot;value&quot;: &quot;zones/us-east1-d&quot; }
+        {
+          &quot;key&quot;: &quot;A String&quot;, # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).
+          &quot;value&quot;: &quot;A String&quot;, # [Output Only] A warning data value corresponding to the key.
+        },
+      ],
+      &quot;message&quot;: &quot;A String&quot;, # [Output Only] A human-readable description of the warning code.
+    },
+  ],
+  &quot;zone&quot;: &quot;A String&quot;, # [Output Only] The URL of the zone where the operation resides. Only applicable when performing per-zone operations.
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="close">close()</code>
+  <pre>Close httplib2 connections.</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="delete">delete(project, zone, futureReservation, requestId=None)</code>
+  <pre>Deletes the specified future reservation.
+
+Args:
+  project: string, Project ID for this request. (required)
+  zone: string, Name of the zone for this request. Name should conform to RFC1035. (required)
+  futureReservation: string, Name of the future reservation to retrieve. Name should conform to RFC1035. (required)
+  requestId: string, An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.
+
+For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.
+
+The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
+
+Returns:
+  An object of the form:
+
+    { # Represents an Operation resource.
+    #
+    # Google Compute Engine has three Operation resources:
+    #
+    # * [Global](/compute/docs/reference/rest/{$api_version}/globalOperations) * [Regional](/compute/docs/reference/rest/{$api_version}/regionOperations) * [Zonal](/compute/docs/reference/rest/{$api_version}/zoneOperations)
+    #
+    # You can use an operation resource to manage asynchronous API requests. For more information, read Handling API responses.
+    #
+    # Operations can be global, regional or zonal.
+    # - For global operations, use the `globalOperations` resource.
+    # - For regional operations, use the `regionOperations` resource.
+    # - For zonal operations, use the `zonalOperations` resource.
+    #
+    # For more information, read  Global, Regional, and Zonal Resources. (== resource_for {$api_version}.globalOperations ==) (== resource_for {$api_version}.regionOperations ==) (== resource_for {$api_version}.zoneOperations ==)
+  &quot;clientOperationId&quot;: &quot;A String&quot;, # [Output Only] The value of `requestId` if you provided it in the request. Not present otherwise.
+  &quot;creationTimestamp&quot;: &quot;A String&quot;, # [Deprecated] This field is deprecated.
+  &quot;description&quot;: &quot;A String&quot;, # [Output Only] A textual description of the operation, which is set when the operation is created.
+  &quot;endTime&quot;: &quot;A String&quot;, # [Output Only] The time that this operation was completed. This value is in RFC3339 text format.
+  &quot;error&quot;: { # [Output Only] If errors are generated during processing of the operation, this field will be populated.
+    &quot;errors&quot;: [ # [Output Only] The array of errors encountered while processing this operation.
+      {
+        &quot;code&quot;: &quot;A String&quot;, # [Output Only] The error type identifier for this error.
+        &quot;location&quot;: &quot;A String&quot;, # [Output Only] Indicates the field in the request that caused the error. This property is optional.
+        &quot;message&quot;: &quot;A String&quot;, # [Output Only] An optional, human-readable error message.
+      },
+    ],
+  },
+  &quot;httpErrorMessage&quot;: &quot;A String&quot;, # [Output Only] If the operation fails, this field contains the HTTP error message that was returned, such as `NOT FOUND`.
+  &quot;httpErrorStatusCode&quot;: 42, # [Output Only] If the operation fails, this field contains the HTTP error status code that was returned. For example, a `404` means the resource was not found.
+  &quot;id&quot;: &quot;A String&quot;, # [Output Only] The unique identifier for the operation. This identifier is defined by the server.
+  &quot;insertTime&quot;: &quot;A String&quot;, # [Output Only] The time that this operation was requested. This value is in RFC3339 text format.
+  &quot;kind&quot;: &quot;compute#operation&quot;, # [Output Only] Type of the resource. Always `compute#operation` for Operation resources.
+  &quot;name&quot;: &quot;A String&quot;, # [Output Only] Name of the operation.
+  &quot;operationGroupId&quot;: &quot;A String&quot;, # [Output Only] An ID that represents a group of operations, such as when a group of operations results from a `bulkInsert` API request.
+  &quot;operationType&quot;: &quot;A String&quot;, # [Output Only] The type of operation, such as `insert`, `update`, or `delete`, and so on.
+  &quot;progress&quot;: 42, # [Output Only] An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess when the operation will be complete. This number should monotonically increase as the operation progresses.
+  &quot;region&quot;: &quot;A String&quot;, # [Output Only] The URL of the region where the operation resides. Only applicable when performing regional operations.
+  &quot;selfLink&quot;: &quot;A String&quot;, # [Output Only] Server-defined URL for the resource.
+  &quot;selfLinkWithId&quot;: &quot;A String&quot;, # [Output Only] Server-defined URL for this resource with the resource id.
+  &quot;startTime&quot;: &quot;A String&quot;, # [Output Only] The time that this operation was started by the server. This value is in RFC3339 text format.
+  &quot;status&quot;: &quot;A String&quot;, # [Output Only] The status of the operation, which can be one of the following: `PENDING`, `RUNNING`, or `DONE`.
+  &quot;statusMessage&quot;: &quot;A String&quot;, # [Output Only] An optional textual description of the current status of the operation.
+  &quot;targetId&quot;: &quot;A String&quot;, # [Output Only] The unique target ID, which identifies a specific incarnation of the target resource.
+  &quot;targetLink&quot;: &quot;A String&quot;, # [Output Only] The URL of the resource that the operation modifies. For operations related to creating a snapshot, this points to the persistent disk that the snapshot was created from.
+  &quot;user&quot;: &quot;A String&quot;, # [Output Only] User who requested the operation, for example: `user@example.com`.
+  &quot;warnings&quot;: [ # [Output Only] If warning messages are generated during processing of the operation, this field will be populated.
+    {
+      &quot;code&quot;: &quot;A String&quot;, # [Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.
+      &quot;data&quot;: [ # [Output Only] Metadata about this warning in key: value format. For example:
+          # &quot;data&quot;: [ { &quot;key&quot;: &quot;scope&quot;, &quot;value&quot;: &quot;zones/us-east1-d&quot; }
+        {
+          &quot;key&quot;: &quot;A String&quot;, # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).
+          &quot;value&quot;: &quot;A String&quot;, # [Output Only] A warning data value corresponding to the key.
+        },
+      ],
+      &quot;message&quot;: &quot;A String&quot;, # [Output Only] A human-readable description of the warning code.
+    },
+  ],
+  &quot;zone&quot;: &quot;A String&quot;, # [Output Only] The URL of the zone where the operation resides. Only applicable when performing per-zone operations.
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(project, zone, futureReservation)</code>
+  <pre>Retrieves information about the specified future reservation.
+
+Args:
+  project: string, Project ID for this request. (required)
+  zone: string, Name of the zone for this request. Name should conform to RFC1035. (required)
+  futureReservation: string, Name of the future reservation to retrieve. Name should conform to RFC1035. (required)
+
+Returns:
+  An object of the form:
+
+    {
+  &quot;creationTimestamp&quot;: &quot;A String&quot;, # [Output Only] The creation timestamp for this future reservation in RFC3339 text format.
+  &quot;description&quot;: &quot;A String&quot;, # An optional description of this resource. Provide this property when you create the future reservation.
+  &quot;id&quot;: &quot;A String&quot;, # [Output Only] A unique identifier for this future reservation. The server defines this identifier.
+  &quot;kind&quot;: &quot;compute#futureReservation&quot;, # [Output Only] Type of the resource. Always compute#futureReservation for future reservations.
+  &quot;name&quot;: &quot;A String&quot;, # The name of the resource, provided by the client when initially creating the resource. The resource name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
+  &quot;namePrefix&quot;: &quot;A String&quot;, # Name prefix for the reservations to be created at the time of delivery. The name prefix must comply with RFC1035. Maximum allowed length for name prefix is 20. Automatically created reservations name format will be -date-####.
+  &quot;selfLink&quot;: &quot;A String&quot;, # [Output Only] Server-defined fully-qualified URL for this resource.
+  &quot;selfLinkWithId&quot;: &quot;A String&quot;, # [Output Only] Server-defined URL for this resource with the resource id.
+  &quot;shareSettings&quot;: { # The share setting for reservations and sole tenancy node groups. # List of Projects/Folders to share with.
+    &quot;projects&quot;: [ # A List of Project names to specify consumer projects for this shared-reservation. This is only valid when share_type&#x27;s value is SPECIFIC_PROJECTS.
+      &quot;A String&quot;,
+    ],
+    &quot;shareType&quot;: &quot;A String&quot;, # Type of sharing for this shared-reservation
+  },
+  &quot;specificSkuProperties&quot;: { # Future Reservation configuration to indicate instance properties and total count.
+    &quot;instanceProperties&quot;: { # Properties of the SKU instances being reserved. Next ID: 9 # Properties of the SKU instances being reserved.
+      &quot;guestAccelerators&quot;: [ # Specifies accelerator type and count.
+        { # A specification of the type and number of accelerator cards attached to the instance.
+          &quot;acceleratorCount&quot;: 42, # The number of the guest accelerator cards exposed to this instance.
+          &quot;acceleratorType&quot;: &quot;A String&quot;, # Full or partial URL of the accelerator type resource to attach to this instance. For example: projects/my-project/zones/us-central1-c/acceleratorTypes/nvidia-tesla-p100 If you are creating an instance template, specify only the accelerator name. See GPUs on Compute Engine for a full list of accelerator types.
+        },
+      ],
+      &quot;localSsds&quot;: [ # Specifies amount of local ssd to reserve with each instance. The type of disk is local-ssd.
+        {
+          &quot;diskSizeGb&quot;: &quot;A String&quot;, # Specifies the size of the disk in base-2 GB.
+          &quot;interface&quot;: &quot;A String&quot;, # Specifies the disk interface to use for attaching this disk, which is either SCSI or NVME. The default is SCSI. For performance characteristics of SCSI over NVMe, see Local SSD performance.
+        },
+      ],
+      &quot;locationHint&quot;: &quot;A String&quot;, # An opaque location hint used to place the allocation close to other resources. This field is for use by internal tools that use the public API.
+      &quot;machineType&quot;: &quot;A String&quot;, # Specifies type of machine (name only) which has fixed number of vCPUs and fixed amount of memory. This also includes specifying custom machine type following custom-NUMBER_OF_CPUS-AMOUNT_OF_MEMORY pattern.
+      &quot;maintenanceFreezeDurationHours&quot;: 42, # Specifies the number of hours after reservation creation where instances using the reservation won&#x27;t be scheduled for maintenance.
+      &quot;maintenanceInterval&quot;: &quot;A String&quot;, # For more information about maintenance intervals, see Setting maintenance intervals.
+      &quot;minCpuPlatform&quot;: &quot;A String&quot;, # Minimum cpu platform the reservation.
+    },
+    &quot;totalCount&quot;: &quot;A String&quot;, # Total number of instances for which capacity assurance is requested at a future time period.
+  },
+  &quot;status&quot;: { # [Output only] Represents status related to the future reservation. # [Output only] Status of the Future Reservation
+    &quot;autoCreatedReservations&quot;: [ # Fully qualified urls of the automatically created reservations at start_time.
+      &quot;A String&quot;,
+    ],
+    &quot;fulfilledCount&quot;: &quot;A String&quot;, # This count indicates the fulfilled capacity so far. This is set during &quot;PROVISIONING&quot; state. This count also includes capacity delivered as part of existing matching reservations.
+    &quot;lockTime&quot;: &quot;A String&quot;, # Time when Future Reservation would become LOCKED, after which no modifications to Future Reservation will be allowed. Applicable only after the Future Reservation is in the APPROVED state. The lock_time is an RFC3339 string. The procurement_status will transition to PROCURING state at this time. TODO(b/183994731): Replace with Timestamp.
+    &quot;procurementStatus&quot;: &quot;A String&quot;, # Current state of this Future Reservation
+  },
+  &quot;timeWindow&quot;: { # Time window for this Future Reservation.
+    &quot;duration&quot;: { # A Duration represents a fixed-length span of time represented as a count of seconds and fractions of seconds at nanosecond resolution. It is independent of any calendar and concepts like &quot;day&quot; or &quot;month&quot;. Range is approximately 10,000 years.
+      &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
+      &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
+    },
+    &quot;endTime&quot;: &quot;A String&quot;, # TODO(b/183994731): Replace with Timestamp.
+    &quot;startTime&quot;: &quot;A String&quot;, # Start time of the Future Reservation. The start_time is an RFC3339 string. TODO(b/183994731): Replace with Timestamp.
+  },
+  &quot;zone&quot;: &quot;A String&quot;, # [Output Only] URL of the Zone where this future reservation resides.
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="insert">insert(project, zone, body=None, requestId=None)</code>
+  <pre>Creates a new Future Reservation.
+
+Args:
+  project: string, Project ID for this request. (required)
+  zone: string, Name of the zone for this request. Name should conform to RFC1035. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{
+  &quot;creationTimestamp&quot;: &quot;A String&quot;, # [Output Only] The creation timestamp for this future reservation in RFC3339 text format.
+  &quot;description&quot;: &quot;A String&quot;, # An optional description of this resource. Provide this property when you create the future reservation.
+  &quot;id&quot;: &quot;A String&quot;, # [Output Only] A unique identifier for this future reservation. The server defines this identifier.
+  &quot;kind&quot;: &quot;compute#futureReservation&quot;, # [Output Only] Type of the resource. Always compute#futureReservation for future reservations.
+  &quot;name&quot;: &quot;A String&quot;, # The name of the resource, provided by the client when initially creating the resource. The resource name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
+  &quot;namePrefix&quot;: &quot;A String&quot;, # Name prefix for the reservations to be created at the time of delivery. The name prefix must comply with RFC1035. Maximum allowed length for name prefix is 20. Automatically created reservations name format will be -date-####.
+  &quot;selfLink&quot;: &quot;A String&quot;, # [Output Only] Server-defined fully-qualified URL for this resource.
+  &quot;selfLinkWithId&quot;: &quot;A String&quot;, # [Output Only] Server-defined URL for this resource with the resource id.
+  &quot;shareSettings&quot;: { # The share setting for reservations and sole tenancy node groups. # List of Projects/Folders to share with.
+    &quot;projects&quot;: [ # A List of Project names to specify consumer projects for this shared-reservation. This is only valid when share_type&#x27;s value is SPECIFIC_PROJECTS.
+      &quot;A String&quot;,
+    ],
+    &quot;shareType&quot;: &quot;A String&quot;, # Type of sharing for this shared-reservation
+  },
+  &quot;specificSkuProperties&quot;: { # Future Reservation configuration to indicate instance properties and total count.
+    &quot;instanceProperties&quot;: { # Properties of the SKU instances being reserved. Next ID: 9 # Properties of the SKU instances being reserved.
+      &quot;guestAccelerators&quot;: [ # Specifies accelerator type and count.
+        { # A specification of the type and number of accelerator cards attached to the instance.
+          &quot;acceleratorCount&quot;: 42, # The number of the guest accelerator cards exposed to this instance.
+          &quot;acceleratorType&quot;: &quot;A String&quot;, # Full or partial URL of the accelerator type resource to attach to this instance. For example: projects/my-project/zones/us-central1-c/acceleratorTypes/nvidia-tesla-p100 If you are creating an instance template, specify only the accelerator name. See GPUs on Compute Engine for a full list of accelerator types.
+        },
+      ],
+      &quot;localSsds&quot;: [ # Specifies amount of local ssd to reserve with each instance. The type of disk is local-ssd.
+        {
+          &quot;diskSizeGb&quot;: &quot;A String&quot;, # Specifies the size of the disk in base-2 GB.
+          &quot;interface&quot;: &quot;A String&quot;, # Specifies the disk interface to use for attaching this disk, which is either SCSI or NVME. The default is SCSI. For performance characteristics of SCSI over NVMe, see Local SSD performance.
+        },
+      ],
+      &quot;locationHint&quot;: &quot;A String&quot;, # An opaque location hint used to place the allocation close to other resources. This field is for use by internal tools that use the public API.
+      &quot;machineType&quot;: &quot;A String&quot;, # Specifies type of machine (name only) which has fixed number of vCPUs and fixed amount of memory. This also includes specifying custom machine type following custom-NUMBER_OF_CPUS-AMOUNT_OF_MEMORY pattern.
+      &quot;maintenanceFreezeDurationHours&quot;: 42, # Specifies the number of hours after reservation creation where instances using the reservation won&#x27;t be scheduled for maintenance.
+      &quot;maintenanceInterval&quot;: &quot;A String&quot;, # For more information about maintenance intervals, see Setting maintenance intervals.
+      &quot;minCpuPlatform&quot;: &quot;A String&quot;, # Minimum cpu platform the reservation.
+    },
+    &quot;totalCount&quot;: &quot;A String&quot;, # Total number of instances for which capacity assurance is requested at a future time period.
+  },
+  &quot;status&quot;: { # [Output only] Represents status related to the future reservation. # [Output only] Status of the Future Reservation
+    &quot;autoCreatedReservations&quot;: [ # Fully qualified urls of the automatically created reservations at start_time.
+      &quot;A String&quot;,
+    ],
+    &quot;fulfilledCount&quot;: &quot;A String&quot;, # This count indicates the fulfilled capacity so far. This is set during &quot;PROVISIONING&quot; state. This count also includes capacity delivered as part of existing matching reservations.
+    &quot;lockTime&quot;: &quot;A String&quot;, # Time when Future Reservation would become LOCKED, after which no modifications to Future Reservation will be allowed. Applicable only after the Future Reservation is in the APPROVED state. The lock_time is an RFC3339 string. The procurement_status will transition to PROCURING state at this time. TODO(b/183994731): Replace with Timestamp.
+    &quot;procurementStatus&quot;: &quot;A String&quot;, # Current state of this Future Reservation
+  },
+  &quot;timeWindow&quot;: { # Time window for this Future Reservation.
+    &quot;duration&quot;: { # A Duration represents a fixed-length span of time represented as a count of seconds and fractions of seconds at nanosecond resolution. It is independent of any calendar and concepts like &quot;day&quot; or &quot;month&quot;. Range is approximately 10,000 years.
+      &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
+      &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
+    },
+    &quot;endTime&quot;: &quot;A String&quot;, # TODO(b/183994731): Replace with Timestamp.
+    &quot;startTime&quot;: &quot;A String&quot;, # Start time of the Future Reservation. The start_time is an RFC3339 string. TODO(b/183994731): Replace with Timestamp.
+  },
+  &quot;zone&quot;: &quot;A String&quot;, # [Output Only] URL of the Zone where this future reservation resides.
+}
+
+  requestId: string, An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.
+
+For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.
+
+The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
+
+Returns:
+  An object of the form:
+
+    { # Represents an Operation resource.
+    #
+    # Google Compute Engine has three Operation resources:
+    #
+    # * [Global](/compute/docs/reference/rest/{$api_version}/globalOperations) * [Regional](/compute/docs/reference/rest/{$api_version}/regionOperations) * [Zonal](/compute/docs/reference/rest/{$api_version}/zoneOperations)
+    #
+    # You can use an operation resource to manage asynchronous API requests. For more information, read Handling API responses.
+    #
+    # Operations can be global, regional or zonal.
+    # - For global operations, use the `globalOperations` resource.
+    # - For regional operations, use the `regionOperations` resource.
+    # - For zonal operations, use the `zonalOperations` resource.
+    #
+    # For more information, read  Global, Regional, and Zonal Resources. (== resource_for {$api_version}.globalOperations ==) (== resource_for {$api_version}.regionOperations ==) (== resource_for {$api_version}.zoneOperations ==)
+  &quot;clientOperationId&quot;: &quot;A String&quot;, # [Output Only] The value of `requestId` if you provided it in the request. Not present otherwise.
+  &quot;creationTimestamp&quot;: &quot;A String&quot;, # [Deprecated] This field is deprecated.
+  &quot;description&quot;: &quot;A String&quot;, # [Output Only] A textual description of the operation, which is set when the operation is created.
+  &quot;endTime&quot;: &quot;A String&quot;, # [Output Only] The time that this operation was completed. This value is in RFC3339 text format.
+  &quot;error&quot;: { # [Output Only] If errors are generated during processing of the operation, this field will be populated.
+    &quot;errors&quot;: [ # [Output Only] The array of errors encountered while processing this operation.
+      {
+        &quot;code&quot;: &quot;A String&quot;, # [Output Only] The error type identifier for this error.
+        &quot;location&quot;: &quot;A String&quot;, # [Output Only] Indicates the field in the request that caused the error. This property is optional.
+        &quot;message&quot;: &quot;A String&quot;, # [Output Only] An optional, human-readable error message.
+      },
+    ],
+  },
+  &quot;httpErrorMessage&quot;: &quot;A String&quot;, # [Output Only] If the operation fails, this field contains the HTTP error message that was returned, such as `NOT FOUND`.
+  &quot;httpErrorStatusCode&quot;: 42, # [Output Only] If the operation fails, this field contains the HTTP error status code that was returned. For example, a `404` means the resource was not found.
+  &quot;id&quot;: &quot;A String&quot;, # [Output Only] The unique identifier for the operation. This identifier is defined by the server.
+  &quot;insertTime&quot;: &quot;A String&quot;, # [Output Only] The time that this operation was requested. This value is in RFC3339 text format.
+  &quot;kind&quot;: &quot;compute#operation&quot;, # [Output Only] Type of the resource. Always `compute#operation` for Operation resources.
+  &quot;name&quot;: &quot;A String&quot;, # [Output Only] Name of the operation.
+  &quot;operationGroupId&quot;: &quot;A String&quot;, # [Output Only] An ID that represents a group of operations, such as when a group of operations results from a `bulkInsert` API request.
+  &quot;operationType&quot;: &quot;A String&quot;, # [Output Only] The type of operation, such as `insert`, `update`, or `delete`, and so on.
+  &quot;progress&quot;: 42, # [Output Only] An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess when the operation will be complete. This number should monotonically increase as the operation progresses.
+  &quot;region&quot;: &quot;A String&quot;, # [Output Only] The URL of the region where the operation resides. Only applicable when performing regional operations.
+  &quot;selfLink&quot;: &quot;A String&quot;, # [Output Only] Server-defined URL for the resource.
+  &quot;selfLinkWithId&quot;: &quot;A String&quot;, # [Output Only] Server-defined URL for this resource with the resource id.
+  &quot;startTime&quot;: &quot;A String&quot;, # [Output Only] The time that this operation was started by the server. This value is in RFC3339 text format.
+  &quot;status&quot;: &quot;A String&quot;, # [Output Only] The status of the operation, which can be one of the following: `PENDING`, `RUNNING`, or `DONE`.
+  &quot;statusMessage&quot;: &quot;A String&quot;, # [Output Only] An optional textual description of the current status of the operation.
+  &quot;targetId&quot;: &quot;A String&quot;, # [Output Only] The unique target ID, which identifies a specific incarnation of the target resource.
+  &quot;targetLink&quot;: &quot;A String&quot;, # [Output Only] The URL of the resource that the operation modifies. For operations related to creating a snapshot, this points to the persistent disk that the snapshot was created from.
+  &quot;user&quot;: &quot;A String&quot;, # [Output Only] User who requested the operation, for example: `user@example.com`.
+  &quot;warnings&quot;: [ # [Output Only] If warning messages are generated during processing of the operation, this field will be populated.
+    {
+      &quot;code&quot;: &quot;A String&quot;, # [Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.
+      &quot;data&quot;: [ # [Output Only] Metadata about this warning in key: value format. For example:
+          # &quot;data&quot;: [ { &quot;key&quot;: &quot;scope&quot;, &quot;value&quot;: &quot;zones/us-east1-d&quot; }
+        {
+          &quot;key&quot;: &quot;A String&quot;, # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).
+          &quot;value&quot;: &quot;A String&quot;, # [Output Only] A warning data value corresponding to the key.
+        },
+      ],
+      &quot;message&quot;: &quot;A String&quot;, # [Output Only] A human-readable description of the warning code.
+    },
+  ],
+  &quot;zone&quot;: &quot;A String&quot;, # [Output Only] The URL of the zone where the operation resides. Only applicable when performing per-zone operations.
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(project, zone, filter=None, maxResults=None, orderBy=None, pageToken=None, returnPartialSuccess=None)</code>
+  <pre>A list of all the future reservations that have been configured for the specified project in specified zone.
+
+Args:
+  project: string, Project ID for this request. (required)
+  zone: string, Name of the zone for this request. Name should conform to RFC1035. (required)
+  filter: string, A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `&gt;`, or `&lt;`.
+
+For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.
+
+You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels.
+
+To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = &quot;Intel Skylake&quot;) ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = &quot;Intel Skylake&quot;) OR (cpuPlatform = &quot;Intel Broadwell&quot;) AND (scheduling.automaticRestart = true) ```
+  maxResults: integer, The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)
+  orderBy: string, Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.
+
+You can also sort results in descending order based on the creation timestamp using `orderBy=&quot;creationTimestamp desc&quot;`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first.
+
+Currently, only sorting by `name` or `creationTimestamp desc` is supported.
+  pageToken: string, Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.
+  returnPartialSuccess: boolean, Opt-in for partial success behavior which provides partial results in case of failure. The default value is false.
+
+Returns:
+  An object of the form:
+
+    {
+  &quot;etag&quot;: &quot;A String&quot;,
+  &quot;id&quot;: &quot;A String&quot;, # [Output Only] The unique identifier for the resource. This identifier is defined by the server.
+  &quot;items&quot;: [ # [Output Only] A list of future reservation resources.
+    {
+      &quot;creationTimestamp&quot;: &quot;A String&quot;, # [Output Only] The creation timestamp for this future reservation in RFC3339 text format.
+      &quot;description&quot;: &quot;A String&quot;, # An optional description of this resource. Provide this property when you create the future reservation.
+      &quot;id&quot;: &quot;A String&quot;, # [Output Only] A unique identifier for this future reservation. The server defines this identifier.
+      &quot;kind&quot;: &quot;compute#futureReservation&quot;, # [Output Only] Type of the resource. Always compute#futureReservation for future reservations.
+      &quot;name&quot;: &quot;A String&quot;, # The name of the resource, provided by the client when initially creating the resource. The resource name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
+      &quot;namePrefix&quot;: &quot;A String&quot;, # Name prefix for the reservations to be created at the time of delivery. The name prefix must comply with RFC1035. Maximum allowed length for name prefix is 20. Automatically created reservations name format will be -date-####.
+      &quot;selfLink&quot;: &quot;A String&quot;, # [Output Only] Server-defined fully-qualified URL for this resource.
+      &quot;selfLinkWithId&quot;: &quot;A String&quot;, # [Output Only] Server-defined URL for this resource with the resource id.
+      &quot;shareSettings&quot;: { # The share setting for reservations and sole tenancy node groups. # List of Projects/Folders to share with.
+        &quot;projects&quot;: [ # A List of Project names to specify consumer projects for this shared-reservation. This is only valid when share_type&#x27;s value is SPECIFIC_PROJECTS.
+          &quot;A String&quot;,
+        ],
+        &quot;shareType&quot;: &quot;A String&quot;, # Type of sharing for this shared-reservation
+      },
+      &quot;specificSkuProperties&quot;: { # Future Reservation configuration to indicate instance properties and total count.
+        &quot;instanceProperties&quot;: { # Properties of the SKU instances being reserved. Next ID: 9 # Properties of the SKU instances being reserved.
+          &quot;guestAccelerators&quot;: [ # Specifies accelerator type and count.
+            { # A specification of the type and number of accelerator cards attached to the instance.
+              &quot;acceleratorCount&quot;: 42, # The number of the guest accelerator cards exposed to this instance.
+              &quot;acceleratorType&quot;: &quot;A String&quot;, # Full or partial URL of the accelerator type resource to attach to this instance. For example: projects/my-project/zones/us-central1-c/acceleratorTypes/nvidia-tesla-p100 If you are creating an instance template, specify only the accelerator name. See GPUs on Compute Engine for a full list of accelerator types.
+            },
+          ],
+          &quot;localSsds&quot;: [ # Specifies amount of local ssd to reserve with each instance. The type of disk is local-ssd.
+            {
+              &quot;diskSizeGb&quot;: &quot;A String&quot;, # Specifies the size of the disk in base-2 GB.
+              &quot;interface&quot;: &quot;A String&quot;, # Specifies the disk interface to use for attaching this disk, which is either SCSI or NVME. The default is SCSI. For performance characteristics of SCSI over NVMe, see Local SSD performance.
+            },
+          ],
+          &quot;locationHint&quot;: &quot;A String&quot;, # An opaque location hint used to place the allocation close to other resources. This field is for use by internal tools that use the public API.
+          &quot;machineType&quot;: &quot;A String&quot;, # Specifies type of machine (name only) which has fixed number of vCPUs and fixed amount of memory. This also includes specifying custom machine type following custom-NUMBER_OF_CPUS-AMOUNT_OF_MEMORY pattern.
+          &quot;maintenanceFreezeDurationHours&quot;: 42, # Specifies the number of hours after reservation creation where instances using the reservation won&#x27;t be scheduled for maintenance.
+          &quot;maintenanceInterval&quot;: &quot;A String&quot;, # For more information about maintenance intervals, see Setting maintenance intervals.
+          &quot;minCpuPlatform&quot;: &quot;A String&quot;, # Minimum cpu platform the reservation.
+        },
+        &quot;totalCount&quot;: &quot;A String&quot;, # Total number of instances for which capacity assurance is requested at a future time period.
+      },
+      &quot;status&quot;: { # [Output only] Represents status related to the future reservation. # [Output only] Status of the Future Reservation
+        &quot;autoCreatedReservations&quot;: [ # Fully qualified urls of the automatically created reservations at start_time.
+          &quot;A String&quot;,
+        ],
+        &quot;fulfilledCount&quot;: &quot;A String&quot;, # This count indicates the fulfilled capacity so far. This is set during &quot;PROVISIONING&quot; state. This count also includes capacity delivered as part of existing matching reservations.
+        &quot;lockTime&quot;: &quot;A String&quot;, # Time when Future Reservation would become LOCKED, after which no modifications to Future Reservation will be allowed. Applicable only after the Future Reservation is in the APPROVED state. The lock_time is an RFC3339 string. The procurement_status will transition to PROCURING state at this time. TODO(b/183994731): Replace with Timestamp.
+        &quot;procurementStatus&quot;: &quot;A String&quot;, # Current state of this Future Reservation
+      },
+      &quot;timeWindow&quot;: { # Time window for this Future Reservation.
+        &quot;duration&quot;: { # A Duration represents a fixed-length span of time represented as a count of seconds and fractions of seconds at nanosecond resolution. It is independent of any calendar and concepts like &quot;day&quot; or &quot;month&quot;. Range is approximately 10,000 years.
+          &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
+          &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
+        },
+        &quot;endTime&quot;: &quot;A String&quot;, # TODO(b/183994731): Replace with Timestamp.
+        &quot;startTime&quot;: &quot;A String&quot;, # Start time of the Future Reservation. The start_time is an RFC3339 string. TODO(b/183994731): Replace with Timestamp.
+      },
+      &quot;zone&quot;: &quot;A String&quot;, # [Output Only] URL of the Zone where this future reservation resides.
+    },
+  ],
+  &quot;kind&quot;: &quot;compute#futureReservationsListResponse&quot;, # [Output Only] Type of resource.Always compute#reservationsList for listsof reservations
+  &quot;nextPageToken&quot;: &quot;A String&quot;, # [Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.
+  &quot;selfLink&quot;: &quot;A String&quot;, # [Output Only] Server-defined URL for this resource.
+  &quot;unreachables&quot;: [ # [Output Only] Unreachable resources.
+    &quot;A String&quot;,
+  ],
+  &quot;warning&quot;: { # [Output Only] Informational warning message.
+    &quot;code&quot;: &quot;A String&quot;, # [Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.
+    &quot;data&quot;: [ # [Output Only] Metadata about this warning in key: value format. For example:
+        # &quot;data&quot;: [ { &quot;key&quot;: &quot;scope&quot;, &quot;value&quot;: &quot;zones/us-east1-d&quot; }
+      {
+        &quot;key&quot;: &quot;A String&quot;, # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).
+        &quot;value&quot;: &quot;A String&quot;, # [Output Only] A warning data value corresponding to the key.
+      },
+    ],
+    &quot;message&quot;: &quot;A String&quot;, # [Output Only] A human-readable description of the warning code.
+  },
+}</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="update">update(project, zone, futureReservation, body=None, paths=None, requestId=None)</code>
+  <pre>Updates the specified future reservation.
+
+Args:
+  project: string, Project ID for this request. (required)
+  zone: string, Name of the zone for this request. Name should conform to RFC1035. (required)
+  futureReservation: string, Name of the reservation to update. Name should conform to RFC1035. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{
+  &quot;creationTimestamp&quot;: &quot;A String&quot;, # [Output Only] The creation timestamp for this future reservation in RFC3339 text format.
+  &quot;description&quot;: &quot;A String&quot;, # An optional description of this resource. Provide this property when you create the future reservation.
+  &quot;id&quot;: &quot;A String&quot;, # [Output Only] A unique identifier for this future reservation. The server defines this identifier.
+  &quot;kind&quot;: &quot;compute#futureReservation&quot;, # [Output Only] Type of the resource. Always compute#futureReservation for future reservations.
+  &quot;name&quot;: &quot;A String&quot;, # The name of the resource, provided by the client when initially creating the resource. The resource name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
+  &quot;namePrefix&quot;: &quot;A String&quot;, # Name prefix for the reservations to be created at the time of delivery. The name prefix must comply with RFC1035. Maximum allowed length for name prefix is 20. Automatically created reservations name format will be -date-####.
+  &quot;selfLink&quot;: &quot;A String&quot;, # [Output Only] Server-defined fully-qualified URL for this resource.
+  &quot;selfLinkWithId&quot;: &quot;A String&quot;, # [Output Only] Server-defined URL for this resource with the resource id.
+  &quot;shareSettings&quot;: { # The share setting for reservations and sole tenancy node groups. # List of Projects/Folders to share with.
+    &quot;projects&quot;: [ # A List of Project names to specify consumer projects for this shared-reservation. This is only valid when share_type&#x27;s value is SPECIFIC_PROJECTS.
+      &quot;A String&quot;,
+    ],
+    &quot;shareType&quot;: &quot;A String&quot;, # Type of sharing for this shared-reservation
+  },
+  &quot;specificSkuProperties&quot;: { # Future Reservation configuration to indicate instance properties and total count.
+    &quot;instanceProperties&quot;: { # Properties of the SKU instances being reserved. Next ID: 9 # Properties of the SKU instances being reserved.
+      &quot;guestAccelerators&quot;: [ # Specifies accelerator type and count.
+        { # A specification of the type and number of accelerator cards attached to the instance.
+          &quot;acceleratorCount&quot;: 42, # The number of the guest accelerator cards exposed to this instance.
+          &quot;acceleratorType&quot;: &quot;A String&quot;, # Full or partial URL of the accelerator type resource to attach to this instance. For example: projects/my-project/zones/us-central1-c/acceleratorTypes/nvidia-tesla-p100 If you are creating an instance template, specify only the accelerator name. See GPUs on Compute Engine for a full list of accelerator types.
+        },
+      ],
+      &quot;localSsds&quot;: [ # Specifies amount of local ssd to reserve with each instance. The type of disk is local-ssd.
+        {
+          &quot;diskSizeGb&quot;: &quot;A String&quot;, # Specifies the size of the disk in base-2 GB.
+          &quot;interface&quot;: &quot;A String&quot;, # Specifies the disk interface to use for attaching this disk, which is either SCSI or NVME. The default is SCSI. For performance characteristics of SCSI over NVMe, see Local SSD performance.
+        },
+      ],
+      &quot;locationHint&quot;: &quot;A String&quot;, # An opaque location hint used to place the allocation close to other resources. This field is for use by internal tools that use the public API.
+      &quot;machineType&quot;: &quot;A String&quot;, # Specifies type of machine (name only) which has fixed number of vCPUs and fixed amount of memory. This also includes specifying custom machine type following custom-NUMBER_OF_CPUS-AMOUNT_OF_MEMORY pattern.
+      &quot;maintenanceFreezeDurationHours&quot;: 42, # Specifies the number of hours after reservation creation where instances using the reservation won&#x27;t be scheduled for maintenance.
+      &quot;maintenanceInterval&quot;: &quot;A String&quot;, # For more information about maintenance intervals, see Setting maintenance intervals.
+      &quot;minCpuPlatform&quot;: &quot;A String&quot;, # Minimum cpu platform the reservation.
+    },
+    &quot;totalCount&quot;: &quot;A String&quot;, # Total number of instances for which capacity assurance is requested at a future time period.
+  },
+  &quot;status&quot;: { # [Output only] Represents status related to the future reservation. # [Output only] Status of the Future Reservation
+    &quot;autoCreatedReservations&quot;: [ # Fully qualified urls of the automatically created reservations at start_time.
+      &quot;A String&quot;,
+    ],
+    &quot;fulfilledCount&quot;: &quot;A String&quot;, # This count indicates the fulfilled capacity so far. This is set during &quot;PROVISIONING&quot; state. This count also includes capacity delivered as part of existing matching reservations.
+    &quot;lockTime&quot;: &quot;A String&quot;, # Time when Future Reservation would become LOCKED, after which no modifications to Future Reservation will be allowed. Applicable only after the Future Reservation is in the APPROVED state. The lock_time is an RFC3339 string. The procurement_status will transition to PROCURING state at this time. TODO(b/183994731): Replace with Timestamp.
+    &quot;procurementStatus&quot;: &quot;A String&quot;, # Current state of this Future Reservation
+  },
+  &quot;timeWindow&quot;: { # Time window for this Future Reservation.
+    &quot;duration&quot;: { # A Duration represents a fixed-length span of time represented as a count of seconds and fractions of seconds at nanosecond resolution. It is independent of any calendar and concepts like &quot;day&quot; or &quot;month&quot;. Range is approximately 10,000 years.
+      &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
+      &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
+    },
+    &quot;endTime&quot;: &quot;A String&quot;, # TODO(b/183994731): Replace with Timestamp.
+    &quot;startTime&quot;: &quot;A String&quot;, # Start time of the Future Reservation. The start_time is an RFC3339 string. TODO(b/183994731): Replace with Timestamp.
+  },
+  &quot;zone&quot;: &quot;A String&quot;, # [Output Only] URL of the Zone where this future reservation resides.
+}
+
+  paths: string, The set of field mask paths. (repeated)
+  requestId: string, An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.
+
+For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.
+
+The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
+
+Returns:
+  An object of the form:
+
+    { # Represents an Operation resource.
+    #
+    # Google Compute Engine has three Operation resources:
+    #
+    # * [Global](/compute/docs/reference/rest/{$api_version}/globalOperations) * [Regional](/compute/docs/reference/rest/{$api_version}/regionOperations) * [Zonal](/compute/docs/reference/rest/{$api_version}/zoneOperations)
+    #
+    # You can use an operation resource to manage asynchronous API requests. For more information, read Handling API responses.
+    #
+    # Operations can be global, regional or zonal.
+    # - For global operations, use the `globalOperations` resource.
+    # - For regional operations, use the `regionOperations` resource.
+    # - For zonal operations, use the `zonalOperations` resource.
+    #
+    # For more information, read  Global, Regional, and Zonal Resources. (== resource_for {$api_version}.globalOperations ==) (== resource_for {$api_version}.regionOperations ==) (== resource_for {$api_version}.zoneOperations ==)
+  &quot;clientOperationId&quot;: &quot;A String&quot;, # [Output Only] The value of `requestId` if you provided it in the request. Not present otherwise.
+  &quot;creationTimestamp&quot;: &quot;A String&quot;, # [Deprecated] This field is deprecated.
+  &quot;description&quot;: &quot;A String&quot;, # [Output Only] A textual description of the operation, which is set when the operation is created.
+  &quot;endTime&quot;: &quot;A String&quot;, # [Output Only] The time that this operation was completed. This value is in RFC3339 text format.
+  &quot;error&quot;: { # [Output Only] If errors are generated during processing of the operation, this field will be populated.
+    &quot;errors&quot;: [ # [Output Only] The array of errors encountered while processing this operation.
+      {
+        &quot;code&quot;: &quot;A String&quot;, # [Output Only] The error type identifier for this error.
+        &quot;location&quot;: &quot;A String&quot;, # [Output Only] Indicates the field in the request that caused the error. This property is optional.
+        &quot;message&quot;: &quot;A String&quot;, # [Output Only] An optional, human-readable error message.
+      },
+    ],
+  },
+  &quot;httpErrorMessage&quot;: &quot;A String&quot;, # [Output Only] If the operation fails, this field contains the HTTP error message that was returned, such as `NOT FOUND`.
+  &quot;httpErrorStatusCode&quot;: 42, # [Output Only] If the operation fails, this field contains the HTTP error status code that was returned. For example, a `404` means the resource was not found.
+  &quot;id&quot;: &quot;A String&quot;, # [Output Only] The unique identifier for the operation. This identifier is defined by the server.
+  &quot;insertTime&quot;: &quot;A String&quot;, # [Output Only] The time that this operation was requested. This value is in RFC3339 text format.
+  &quot;kind&quot;: &quot;compute#operation&quot;, # [Output Only] Type of the resource. Always `compute#operation` for Operation resources.
+  &quot;name&quot;: &quot;A String&quot;, # [Output Only] Name of the operation.
+  &quot;operationGroupId&quot;: &quot;A String&quot;, # [Output Only] An ID that represents a group of operations, such as when a group of operations results from a `bulkInsert` API request.
+  &quot;operationType&quot;: &quot;A String&quot;, # [Output Only] The type of operation, such as `insert`, `update`, or `delete`, and so on.
+  &quot;progress&quot;: 42, # [Output Only] An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess when the operation will be complete. This number should monotonically increase as the operation progresses.
+  &quot;region&quot;: &quot;A String&quot;, # [Output Only] The URL of the region where the operation resides. Only applicable when performing regional operations.
+  &quot;selfLink&quot;: &quot;A String&quot;, # [Output Only] Server-defined URL for the resource.
+  &quot;selfLinkWithId&quot;: &quot;A String&quot;, # [Output Only] Server-defined URL for this resource with the resource id.
+  &quot;startTime&quot;: &quot;A String&quot;, # [Output Only] The time that this operation was started by the server. This value is in RFC3339 text format.
+  &quot;status&quot;: &quot;A String&quot;, # [Output Only] The status of the operation, which can be one of the following: `PENDING`, `RUNNING`, or `DONE`.
+  &quot;statusMessage&quot;: &quot;A String&quot;, # [Output Only] An optional textual description of the current status of the operation.
+  &quot;targetId&quot;: &quot;A String&quot;, # [Output Only] The unique target ID, which identifies a specific incarnation of the target resource.
+  &quot;targetLink&quot;: &quot;A String&quot;, # [Output Only] The URL of the resource that the operation modifies. For operations related to creating a snapshot, this points to the persistent disk that the snapshot was created from.
+  &quot;user&quot;: &quot;A String&quot;, # [Output Only] User who requested the operation, for example: `user@example.com`.
+  &quot;warnings&quot;: [ # [Output Only] If warning messages are generated during processing of the operation, this field will be populated.
+    {
+      &quot;code&quot;: &quot;A String&quot;, # [Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.
+      &quot;data&quot;: [ # [Output Only] Metadata about this warning in key: value format. For example:
+          # &quot;data&quot;: [ { &quot;key&quot;: &quot;scope&quot;, &quot;value&quot;: &quot;zones/us-east1-d&quot; }
+        {
+          &quot;key&quot;: &quot;A String&quot;, # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).
+          &quot;value&quot;: &quot;A String&quot;, # [Output Only] A warning data value corresponding to the key.
+        },
+      ],
+      &quot;message&quot;: &quot;A String&quot;, # [Output Only] A human-readable description of the warning code.
+    },
+  ],
+  &quot;zone&quot;: &quot;A String&quot;, # [Output Only] The URL of the zone where the operation resides. Only applicable when performing per-zone operations.
+}</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/compute_alpha.globalForwardingRules.html b/docs/dyn/compute_alpha.globalForwardingRules.html
index a499c46..4e70b38 100644
--- a/docs/dyn/compute_alpha.globalForwardingRules.html
+++ b/docs/dyn/compute_alpha.globalForwardingRules.html
@@ -227,17 +227,19 @@
       # For Private Service Connect forwarding rules that forward traffic to Google APIs, IP address must be provided.
   &quot;IPProtocol&quot;: &quot;A String&quot;, # The IP protocol to which this rule applies.
       #
-      # For protocol forwarding, valid options are TCP, UDP, ESP, AH, SCTP and ICMP.
+      # For protocol forwarding, valid options are TCP, UDP, ESP, AH, SCTP, ICMP and L3_DEFAULT.
       #
       # The valid IP protocols are different for different load balancing products:
-      # - Internal TCP/UDP Load Balancing: The load balancing scheme is INTERNAL, and one of TCP, UDP or ALL is valid.
+      # - Internal TCP/UDP Load Balancing: The load balancing scheme is INTERNAL, and one of TCP, UDP or L3_DEFAULT is valid.
       # - Traffic Director: The load balancing scheme is INTERNAL_SELF_MANAGED, and only TCP is valid.
       # - Internal HTTP(S) Load Balancing: The load balancing scheme is INTERNAL_MANAGED, and only TCP is valid.
       # - HTTP(S), SSL Proxy, and TCP Proxy Load Balancing: The load balancing scheme is EXTERNAL and only TCP is valid.
-      # - Network Load Balancing: The load balancing scheme is EXTERNAL, and one of TCP or UDP is valid.
-  &quot;allPorts&quot;: True or False, # This field is used along with the backend_service field for internal load balancing or with the target field for internal TargetInstance. This field cannot be used with port or portRange fields.
+      # - Network Load Balancing: The load balancing scheme is EXTERNAL, and one of TCP, UDP or L3_DEFAULT is valid.
+  &quot;allPorts&quot;: True or False, # This field is used along with the backend_service field for Internal TCP/UDP Load Balancing or Network Load Balancing, or with the target field for internal and external TargetInstance.
       #
-      # When the load balancing scheme is INTERNAL and protocol is TCP/UDP, specify this field to allow packets addressed to any ports will be forwarded to the backends configured with this forwarding rule.
+      # You can only use one of ports and port_range, or allPorts. The three are mutually exclusive.
+      #
+      # For TCP, UDP and SCTP traffic, packets addressed to any ports will be forwarded to the target or backendService.
   &quot;allowGlobalAccess&quot;: True or False, # This field is used along with the backend_service field for internal load balancing or with the target field for internal TargetInstance. If the field is set to TRUE, clients can access ILB from all regions. Otherwise only allows access from clients in the same region as the internal load balancer.
   &quot;backendService&quot;: &quot;A String&quot;, # Identifies the backend service to which the forwarding rule sends traffic. Required for Internal TCP/UDP Load Balancing and Network Load Balancing; must be omitted for all other load balancer types.
   &quot;creationTimestamp&quot;: &quot;A String&quot;, # [Output Only] Creation timestamp in RFC3339 text format.
@@ -304,9 +306,15 @@
       # For regional ForwardingRule, the valid values are PREMIUM and STANDARD. For GlobalForwardingRule, the valid value is PREMIUM.
       #
       # If this field is not specified, it is assumed to be PREMIUM. If IPAddress is specified, this value must be equal to the networkTier of the Address.
-  &quot;portRange&quot;: &quot;A String&quot;, # This field can be used only if: * Load balancing scheme is one of EXTERNAL,  INTERNAL_SELF_MANAGED or INTERNAL_MANAGED, and * IPProtocol is one of TCP, UDP, or SCTP.
+  &quot;portRange&quot;: &quot;A String&quot;, # This field can be used only if:
+      # - Load balancing scheme is one of EXTERNAL,  INTERNAL_SELF_MANAGED or INTERNAL_MANAGED
+      # - IPProtocol is one of TCP, UDP, or SCTP.
       #
-      # Packets addressed to ports in the specified range will be forwarded to target or  backend_service. You can only use one of ports, port_range, or allPorts. The three are mutually exclusive. Forwarding rules with the same [IPAddress, IPProtocol] pair must have disjoint port ranges.
+      # Packets addressed to ports in the specified range will be forwarded to target or  backend_service.
+      #
+      # You can only use one of ports, port_range, or allPorts. The three are mutually exclusive.
+      #
+      # Forwarding rules with the same [IPAddress, IPProtocol] pair must have disjoint ports.
       #
       # Some types of forwarding target have constraints on the acceptable ports:
       # - TargetHttpProxy: 80, 8080
@@ -321,7 +329,7 @@
       #
       # You can specify a list of up to five ports, which can be non-contiguous.
       #
-      # For Internal TCP/UDP Load Balancing, if you specify allPorts, you should not specify ports.
+      # Forwarding rules with the same [IPAddress, IPProtocol] pair must have disjoint ports.
       #
       # For more information, see [Port specifications](/load-balancing/docs/forwarding-rule-concepts#port_specifications).
     &quot;A String&quot;,
@@ -348,6 +356,9 @@
   &quot;serviceName&quot;: &quot;A String&quot;, # [Output Only] The internal fully qualified service name for this Forwarding Rule.
       #
       # This field is only used for internal load balancing.
+  &quot;sourceIpRanges&quot;: [ # If not empty, this Forwarding Rule will only forward the traffic when the source IP address matches one of the IP addresses or CIDR ranges set here. Note that a Forwarding Rule can only have up to 64 source IP ranges, and this field can only be used with a regional Forwarding Rule whose scheme is EXTERNAL. Each source_ip_range entry should be either an IP address (for example, 1.2.3.4) or a CIDR range (for example, 1.2.3.0/24).
+    &quot;A String&quot;,
+  ],
   &quot;subnetwork&quot;: &quot;A String&quot;, # This field is only used for internal load balancing.
       #
       # For internal load balancing, this field identifies the subnetwork that the load balanced IP should belong to for this Forwarding Rule.
@@ -394,17 +405,19 @@
       # For Private Service Connect forwarding rules that forward traffic to Google APIs, IP address must be provided.
   &quot;IPProtocol&quot;: &quot;A String&quot;, # The IP protocol to which this rule applies.
       # 
-      # For protocol forwarding, valid options are TCP, UDP, ESP, AH, SCTP and ICMP.
+      # For protocol forwarding, valid options are TCP, UDP, ESP, AH, SCTP, ICMP and L3_DEFAULT.
       # 
       # The valid IP protocols are different for different load balancing products:
-      # - Internal TCP/UDP Load Balancing: The load balancing scheme is INTERNAL, and one of TCP, UDP or ALL is valid.
+      # - Internal TCP/UDP Load Balancing: The load balancing scheme is INTERNAL, and one of TCP, UDP or L3_DEFAULT is valid.
       # - Traffic Director: The load balancing scheme is INTERNAL_SELF_MANAGED, and only TCP is valid.
       # - Internal HTTP(S) Load Balancing: The load balancing scheme is INTERNAL_MANAGED, and only TCP is valid.
       # - HTTP(S), SSL Proxy, and TCP Proxy Load Balancing: The load balancing scheme is EXTERNAL and only TCP is valid.
-      # - Network Load Balancing: The load balancing scheme is EXTERNAL, and one of TCP or UDP is valid.
-  &quot;allPorts&quot;: True or False, # This field is used along with the backend_service field for internal load balancing or with the target field for internal TargetInstance. This field cannot be used with port or portRange fields.
+      # - Network Load Balancing: The load balancing scheme is EXTERNAL, and one of TCP, UDP or L3_DEFAULT is valid.
+  &quot;allPorts&quot;: True or False, # This field is used along with the backend_service field for Internal TCP/UDP Load Balancing or Network Load Balancing, or with the target field for internal and external TargetInstance.
       # 
-      # When the load balancing scheme is INTERNAL and protocol is TCP/UDP, specify this field to allow packets addressed to any ports will be forwarded to the backends configured with this forwarding rule.
+      # You can only use one of ports and port_range, or allPorts. The three are mutually exclusive.
+      # 
+      # For TCP, UDP and SCTP traffic, packets addressed to any ports will be forwarded to the target or backendService.
   &quot;allowGlobalAccess&quot;: True or False, # This field is used along with the backend_service field for internal load balancing or with the target field for internal TargetInstance. If the field is set to TRUE, clients can access ILB from all regions. Otherwise only allows access from clients in the same region as the internal load balancer.
   &quot;backendService&quot;: &quot;A String&quot;, # Identifies the backend service to which the forwarding rule sends traffic. Required for Internal TCP/UDP Load Balancing and Network Load Balancing; must be omitted for all other load balancer types.
   &quot;creationTimestamp&quot;: &quot;A String&quot;, # [Output Only] Creation timestamp in RFC3339 text format.
@@ -471,9 +484,15 @@
       # For regional ForwardingRule, the valid values are PREMIUM and STANDARD. For GlobalForwardingRule, the valid value is PREMIUM.
       # 
       # If this field is not specified, it is assumed to be PREMIUM. If IPAddress is specified, this value must be equal to the networkTier of the Address.
-  &quot;portRange&quot;: &quot;A String&quot;, # This field can be used only if: * Load balancing scheme is one of EXTERNAL,  INTERNAL_SELF_MANAGED or INTERNAL_MANAGED, and * IPProtocol is one of TCP, UDP, or SCTP.
+  &quot;portRange&quot;: &quot;A String&quot;, # This field can be used only if:
+      # - Load balancing scheme is one of EXTERNAL,  INTERNAL_SELF_MANAGED or INTERNAL_MANAGED
+      # - IPProtocol is one of TCP, UDP, or SCTP.
       # 
-      # Packets addressed to ports in the specified range will be forwarded to target or  backend_service. You can only use one of ports, port_range, or allPorts. The three are mutually exclusive. Forwarding rules with the same [IPAddress, IPProtocol] pair must have disjoint port ranges.
+      # Packets addressed to ports in the specified range will be forwarded to target or  backend_service.
+      # 
+      # You can only use one of ports, port_range, or allPorts. The three are mutually exclusive.
+      # 
+      # Forwarding rules with the same [IPAddress, IPProtocol] pair must have disjoint ports.
       # 
       # Some types of forwarding target have constraints on the acceptable ports:
       # - TargetHttpProxy: 80, 8080
@@ -488,7 +507,7 @@
       # 
       # You can specify a list of up to five ports, which can be non-contiguous.
       # 
-      # For Internal TCP/UDP Load Balancing, if you specify allPorts, you should not specify ports.
+      # Forwarding rules with the same [IPAddress, IPProtocol] pair must have disjoint ports.
       # 
       # For more information, see [Port specifications](/load-balancing/docs/forwarding-rule-concepts#port_specifications).
     &quot;A String&quot;,
@@ -515,6 +534,9 @@
   &quot;serviceName&quot;: &quot;A String&quot;, # [Output Only] The internal fully qualified service name for this Forwarding Rule.
       # 
       # This field is only used for internal load balancing.
+  &quot;sourceIpRanges&quot;: [ # If not empty, this Forwarding Rule will only forward the traffic when the source IP address matches one of the IP addresses or CIDR ranges set here. Note that a Forwarding Rule can only have up to 64 source IP ranges, and this field can only be used with a regional Forwarding Rule whose scheme is EXTERNAL. Each source_ip_range entry should be either an IP address (for example, 1.2.3.4) or a CIDR range (for example, 1.2.3.0/24).
+    &quot;A String&quot;,
+  ],
   &quot;subnetwork&quot;: &quot;A String&quot;, # This field is only used for internal load balancing.
       # 
       # For internal load balancing, this field identifies the subnetwork that the load balanced IP should belong to for this Forwarding Rule.
@@ -650,17 +672,19 @@
           # For Private Service Connect forwarding rules that forward traffic to Google APIs, IP address must be provided.
       &quot;IPProtocol&quot;: &quot;A String&quot;, # The IP protocol to which this rule applies.
           #
-          # For protocol forwarding, valid options are TCP, UDP, ESP, AH, SCTP and ICMP.
+          # For protocol forwarding, valid options are TCP, UDP, ESP, AH, SCTP, ICMP and L3_DEFAULT.
           #
           # The valid IP protocols are different for different load balancing products:
-          # - Internal TCP/UDP Load Balancing: The load balancing scheme is INTERNAL, and one of TCP, UDP or ALL is valid.
+          # - Internal TCP/UDP Load Balancing: The load balancing scheme is INTERNAL, and one of TCP, UDP or L3_DEFAULT is valid.
           # - Traffic Director: The load balancing scheme is INTERNAL_SELF_MANAGED, and only TCP is valid.
           # - Internal HTTP(S) Load Balancing: The load balancing scheme is INTERNAL_MANAGED, and only TCP is valid.
           # - HTTP(S), SSL Proxy, and TCP Proxy Load Balancing: The load balancing scheme is EXTERNAL and only TCP is valid.
-          # - Network Load Balancing: The load balancing scheme is EXTERNAL, and one of TCP or UDP is valid.
-      &quot;allPorts&quot;: True or False, # This field is used along with the backend_service field for internal load balancing or with the target field for internal TargetInstance. This field cannot be used with port or portRange fields.
+          # - Network Load Balancing: The load balancing scheme is EXTERNAL, and one of TCP, UDP or L3_DEFAULT is valid.
+      &quot;allPorts&quot;: True or False, # This field is used along with the backend_service field for Internal TCP/UDP Load Balancing or Network Load Balancing, or with the target field for internal and external TargetInstance.
           #
-          # When the load balancing scheme is INTERNAL and protocol is TCP/UDP, specify this field to allow packets addressed to any ports will be forwarded to the backends configured with this forwarding rule.
+          # You can only use one of ports and port_range, or allPorts. The three are mutually exclusive.
+          #
+          # For TCP, UDP and SCTP traffic, packets addressed to any ports will be forwarded to the target or backendService.
       &quot;allowGlobalAccess&quot;: True or False, # This field is used along with the backend_service field for internal load balancing or with the target field for internal TargetInstance. If the field is set to TRUE, clients can access ILB from all regions. Otherwise only allows access from clients in the same region as the internal load balancer.
       &quot;backendService&quot;: &quot;A String&quot;, # Identifies the backend service to which the forwarding rule sends traffic. Required for Internal TCP/UDP Load Balancing and Network Load Balancing; must be omitted for all other load balancer types.
       &quot;creationTimestamp&quot;: &quot;A String&quot;, # [Output Only] Creation timestamp in RFC3339 text format.
@@ -727,9 +751,15 @@
           # For regional ForwardingRule, the valid values are PREMIUM and STANDARD. For GlobalForwardingRule, the valid value is PREMIUM.
           #
           # If this field is not specified, it is assumed to be PREMIUM. If IPAddress is specified, this value must be equal to the networkTier of the Address.
-      &quot;portRange&quot;: &quot;A String&quot;, # This field can be used only if: * Load balancing scheme is one of EXTERNAL,  INTERNAL_SELF_MANAGED or INTERNAL_MANAGED, and * IPProtocol is one of TCP, UDP, or SCTP.
+      &quot;portRange&quot;: &quot;A String&quot;, # This field can be used only if:
+          # - Load balancing scheme is one of EXTERNAL,  INTERNAL_SELF_MANAGED or INTERNAL_MANAGED
+          # - IPProtocol is one of TCP, UDP, or SCTP.
           #
-          # Packets addressed to ports in the specified range will be forwarded to target or  backend_service. You can only use one of ports, port_range, or allPorts. The three are mutually exclusive. Forwarding rules with the same [IPAddress, IPProtocol] pair must have disjoint port ranges.
+          # Packets addressed to ports in the specified range will be forwarded to target or  backend_service.
+          #
+          # You can only use one of ports, port_range, or allPorts. The three are mutually exclusive.
+          #
+          # Forwarding rules with the same [IPAddress, IPProtocol] pair must have disjoint ports.
           #
           # Some types of forwarding target have constraints on the acceptable ports:
           # - TargetHttpProxy: 80, 8080
@@ -744,7 +774,7 @@
           #
           # You can specify a list of up to five ports, which can be non-contiguous.
           #
-          # For Internal TCP/UDP Load Balancing, if you specify allPorts, you should not specify ports.
+          # Forwarding rules with the same [IPAddress, IPProtocol] pair must have disjoint ports.
           #
           # For more information, see [Port specifications](/load-balancing/docs/forwarding-rule-concepts#port_specifications).
         &quot;A String&quot;,
@@ -771,6 +801,9 @@
       &quot;serviceName&quot;: &quot;A String&quot;, # [Output Only] The internal fully qualified service name for this Forwarding Rule.
           #
           # This field is only used for internal load balancing.
+      &quot;sourceIpRanges&quot;: [ # If not empty, this Forwarding Rule will only forward the traffic when the source IP address matches one of the IP addresses or CIDR ranges set here. Note that a Forwarding Rule can only have up to 64 source IP ranges, and this field can only be used with a regional Forwarding Rule whose scheme is EXTERNAL. Each source_ip_range entry should be either an IP address (for example, 1.2.3.4) or a CIDR range (for example, 1.2.3.0/24).
+        &quot;A String&quot;,
+      ],
       &quot;subnetwork&quot;: &quot;A String&quot;, # This field is only used for internal load balancing.
           #
           # For internal load balancing, this field identifies the subnetwork that the load balanced IP should belong to for this Forwarding Rule.
@@ -848,17 +881,19 @@
       # For Private Service Connect forwarding rules that forward traffic to Google APIs, IP address must be provided.
   &quot;IPProtocol&quot;: &quot;A String&quot;, # The IP protocol to which this rule applies.
       # 
-      # For protocol forwarding, valid options are TCP, UDP, ESP, AH, SCTP and ICMP.
+      # For protocol forwarding, valid options are TCP, UDP, ESP, AH, SCTP, ICMP and L3_DEFAULT.
       # 
       # The valid IP protocols are different for different load balancing products:
-      # - Internal TCP/UDP Load Balancing: The load balancing scheme is INTERNAL, and one of TCP, UDP or ALL is valid.
+      # - Internal TCP/UDP Load Balancing: The load balancing scheme is INTERNAL, and one of TCP, UDP or L3_DEFAULT is valid.
       # - Traffic Director: The load balancing scheme is INTERNAL_SELF_MANAGED, and only TCP is valid.
       # - Internal HTTP(S) Load Balancing: The load balancing scheme is INTERNAL_MANAGED, and only TCP is valid.
       # - HTTP(S), SSL Proxy, and TCP Proxy Load Balancing: The load balancing scheme is EXTERNAL and only TCP is valid.
-      # - Network Load Balancing: The load balancing scheme is EXTERNAL, and one of TCP or UDP is valid.
-  &quot;allPorts&quot;: True or False, # This field is used along with the backend_service field for internal load balancing or with the target field for internal TargetInstance. This field cannot be used with port or portRange fields.
+      # - Network Load Balancing: The load balancing scheme is EXTERNAL, and one of TCP, UDP or L3_DEFAULT is valid.
+  &quot;allPorts&quot;: True or False, # This field is used along with the backend_service field for Internal TCP/UDP Load Balancing or Network Load Balancing, or with the target field for internal and external TargetInstance.
       # 
-      # When the load balancing scheme is INTERNAL and protocol is TCP/UDP, specify this field to allow packets addressed to any ports will be forwarded to the backends configured with this forwarding rule.
+      # You can only use one of ports and port_range, or allPorts. The three are mutually exclusive.
+      # 
+      # For TCP, UDP and SCTP traffic, packets addressed to any ports will be forwarded to the target or backendService.
   &quot;allowGlobalAccess&quot;: True or False, # This field is used along with the backend_service field for internal load balancing or with the target field for internal TargetInstance. If the field is set to TRUE, clients can access ILB from all regions. Otherwise only allows access from clients in the same region as the internal load balancer.
   &quot;backendService&quot;: &quot;A String&quot;, # Identifies the backend service to which the forwarding rule sends traffic. Required for Internal TCP/UDP Load Balancing and Network Load Balancing; must be omitted for all other load balancer types.
   &quot;creationTimestamp&quot;: &quot;A String&quot;, # [Output Only] Creation timestamp in RFC3339 text format.
@@ -925,9 +960,15 @@
       # For regional ForwardingRule, the valid values are PREMIUM and STANDARD. For GlobalForwardingRule, the valid value is PREMIUM.
       # 
       # If this field is not specified, it is assumed to be PREMIUM. If IPAddress is specified, this value must be equal to the networkTier of the Address.
-  &quot;portRange&quot;: &quot;A String&quot;, # This field can be used only if: * Load balancing scheme is one of EXTERNAL,  INTERNAL_SELF_MANAGED or INTERNAL_MANAGED, and * IPProtocol is one of TCP, UDP, or SCTP.
+  &quot;portRange&quot;: &quot;A String&quot;, # This field can be used only if:
+      # - Load balancing scheme is one of EXTERNAL,  INTERNAL_SELF_MANAGED or INTERNAL_MANAGED
+      # - IPProtocol is one of TCP, UDP, or SCTP.
       # 
-      # Packets addressed to ports in the specified range will be forwarded to target or  backend_service. You can only use one of ports, port_range, or allPorts. The three are mutually exclusive. Forwarding rules with the same [IPAddress, IPProtocol] pair must have disjoint port ranges.
+      # Packets addressed to ports in the specified range will be forwarded to target or  backend_service.
+      # 
+      # You can only use one of ports, port_range, or allPorts. The three are mutually exclusive.
+      # 
+      # Forwarding rules with the same [IPAddress, IPProtocol] pair must have disjoint ports.
       # 
       # Some types of forwarding target have constraints on the acceptable ports:
       # - TargetHttpProxy: 80, 8080
@@ -942,7 +983,7 @@
       # 
       # You can specify a list of up to five ports, which can be non-contiguous.
       # 
-      # For Internal TCP/UDP Load Balancing, if you specify allPorts, you should not specify ports.
+      # Forwarding rules with the same [IPAddress, IPProtocol] pair must have disjoint ports.
       # 
       # For more information, see [Port specifications](/load-balancing/docs/forwarding-rule-concepts#port_specifications).
     &quot;A String&quot;,
@@ -969,6 +1010,9 @@
   &quot;serviceName&quot;: &quot;A String&quot;, # [Output Only] The internal fully qualified service name for this Forwarding Rule.
       # 
       # This field is only used for internal load balancing.
+  &quot;sourceIpRanges&quot;: [ # If not empty, this Forwarding Rule will only forward the traffic when the source IP address matches one of the IP addresses or CIDR ranges set here. Note that a Forwarding Rule can only have up to 64 source IP ranges, and this field can only be used with a regional Forwarding Rule whose scheme is EXTERNAL. Each source_ip_range entry should be either an IP address (for example, 1.2.3.4) or a CIDR range (for example, 1.2.3.0/24).
+    &quot;A String&quot;,
+  ],
   &quot;subnetwork&quot;: &quot;A String&quot;, # This field is only used for internal load balancing.
       # 
       # For internal load balancing, this field identifies the subnetwork that the load balanced IP should belong to for this Forwarding Rule.
diff --git a/docs/dyn/compute_alpha.html b/docs/dyn/compute_alpha.html
index f002135..e396f36 100644
--- a/docs/dyn/compute_alpha.html
+++ b/docs/dyn/compute_alpha.html
@@ -130,6 +130,11 @@
 <p class="firstline">Returns the forwardingRules Resource.</p>
 
 <p class="toc_element">
+  <code><a href="compute_alpha.futureReservations.html">futureReservations()</a></code>
+</p>
+<p class="firstline">Returns the futureReservations Resource.</p>
+
+<p class="toc_element">
   <code><a href="compute_alpha.globalAddresses.html">globalAddresses()</a></code>
 </p>
 <p class="firstline">Returns the globalAddresses Resource.</p>
@@ -240,6 +245,11 @@
 <p class="firstline">Returns the machineTypes Resource.</p>
 
 <p class="toc_element">
+  <code><a href="compute_alpha.networkEdgeSecurityServices.html">networkEdgeSecurityServices()</a></code>
+</p>
+<p class="firstline">Returns the networkEdgeSecurityServices Resource.</p>
+
+<p class="toc_element">
   <code><a href="compute_alpha.networkEndpointGroups.html">networkEndpointGroups()</a></code>
 </p>
 <p class="firstline">Returns the networkEndpointGroups Resource.</p>
@@ -375,6 +385,11 @@
 <p class="firstline">Returns the regionOperations Resource.</p>
 
 <p class="toc_element">
+  <code><a href="compute_alpha.regionSecurityPolicies.html">regionSecurityPolicies()</a></code>
+</p>
+<p class="firstline">Returns the regionSecurityPolicies Resource.</p>
+
+<p class="toc_element">
   <code><a href="compute_alpha.regionSslCertificates.html">regionSslCertificates()</a></code>
 </p>
 <p class="firstline">Returns the regionSslCertificates Resource.</p>
diff --git a/docs/dyn/compute_alpha.imageFamilyViews.html b/docs/dyn/compute_alpha.imageFamilyViews.html
index 861df28..63b0000 100644
--- a/docs/dyn/compute_alpha.imageFamilyViews.html
+++ b/docs/dyn/compute_alpha.imageFamilyViews.html
@@ -165,7 +165,13 @@
     &quot;rawDisk&quot;: { # The parameters of the raw disk image.
       &quot;containerType&quot;: &quot;A String&quot;, # The format used to encode and transmit the block device, which should be TAR. This is just a container and transmission format and not a runtime format. Provided by the client when the disk image is created.
       &quot;sha1Checksum&quot;: &quot;A String&quot;, # [Deprecated] This field is deprecated. An optional SHA1 checksum of the disk image before unpackaging provided by the client when the disk image is created.
-      &quot;source&quot;: &quot;A String&quot;, # The full Google Cloud Storage URL where the disk image is stored. You must provide either this property or the sourceDisk property but not both.
+      &quot;source&quot;: &quot;A String&quot;, # The full Google Cloud Storage URL where the disk image is stored.
+          #
+          # In order to create an image, you must provide the full or partial URL of one of the following:
+          # - The rawDisk.source URL
+          # - The sourceDisk URL
+          # - The sourceImage URL
+          # - The sourceSnapshot URL
     },
     &quot;rolloutOverride&quot;: { # A rollout policy configuration. # A rollout policy to apply to this image. When specified, the rollout policy overrides per-zone references to the image via the associated image family. The rollout policy restricts the zones where this image is accessible when using a zonal image family reference. When the rollout policy does not include the user specified zone, or if the zone is rolled out, this image is accessible.
       &quot;defaultRolloutTime&quot;: &quot;A String&quot;, # An optional RFC3339 timestamp on or after which the update is considered rolled out to any zone that is not explicitly stated.
@@ -204,10 +210,16 @@
         &quot;fileType&quot;: &quot;A String&quot;, # The file type of source file.
       },
     },
-    &quot;sourceDisk&quot;: &quot;A String&quot;, # URL of the source disk used to create this image. This can be a full or valid partial URL. You must provide either this property or the rawDisk.source property but not both to create an image. For example, the following are valid values:
+    &quot;sourceDisk&quot;: &quot;A String&quot;, # URL of the source disk used to create this image. For example, the following are valid values:
         # - https://www.googleapis.com/compute/v1/projects/project/zones/zone/disks/disk
         # - projects/project/zones/zone/disks/disk
         # - zones/zone/disks/disk
+        #
+        # In order to create an image, you must provide the full or partial URL of one of the following:
+        # - The rawDisk.source URL
+        # - The sourceDisk URL
+        # - The sourceImage URL
+        # - The sourceSnapshot URL
     &quot;sourceDiskEncryptionKey&quot;: { # The customer-supplied encryption key of the source disk. Required if the source disk is protected by a customer-supplied encryption key.
       &quot;kmsKeyName&quot;: &quot;A String&quot;, # The name of the encryption key that is stored in Google Cloud KMS.
       &quot;kmsKeyServiceAccount&quot;: &quot;A String&quot;, # The service account being used for the encryption request for the given KMS key. If absent, the Compute Engine default service account is used.
@@ -224,10 +236,10 @@
     &quot;sourceImage&quot;: &quot;A String&quot;, # URL of the source image used to create this image.
         #
         # In order to create an image, you must provide the full or partial URL of one of the following:
-        # - The selfLink URL
-        # - This property
         # - The rawDisk.source URL
         # - The sourceDisk URL
+        # - The sourceImage URL
+        # - The sourceSnapshot URL
     &quot;sourceImageEncryptionKey&quot;: { # The customer-supplied encryption key of the source image. Required if the source image is protected by a customer-supplied encryption key.
       &quot;kmsKeyName&quot;: &quot;A String&quot;, # The name of the encryption key that is stored in Google Cloud KMS.
       &quot;kmsKeyServiceAccount&quot;: &quot;A String&quot;, # The service account being used for the encryption request for the given KMS key. If absent, the Compute Engine default service account is used.
@@ -244,11 +256,10 @@
     &quot;sourceSnapshot&quot;: &quot;A String&quot;, # URL of the source snapshot used to create this image.
         #
         # In order to create an image, you must provide the full or partial URL of one of the following:
-        # - The selfLink URL
-        # - This property
-        # - The sourceImage URL
         # - The rawDisk.source URL
         # - The sourceDisk URL
+        # - The sourceImage URL
+        # - The sourceSnapshot URL
     &quot;sourceSnapshotEncryptionKey&quot;: { # The customer-supplied encryption key of the source snapshot. Required if the source snapshot is protected by a customer-supplied encryption key.
       &quot;kmsKeyName&quot;: &quot;A String&quot;, # The name of the encryption key that is stored in Google Cloud KMS.
       &quot;kmsKeyServiceAccount&quot;: &quot;A String&quot;, # The service account being used for the encryption request for the given KMS key. If absent, the Compute Engine default service account is used.
diff --git a/docs/dyn/compute_alpha.images.html b/docs/dyn/compute_alpha.images.html
index 546adc9..6559529 100644
--- a/docs/dyn/compute_alpha.images.html
+++ b/docs/dyn/compute_alpha.images.html
@@ -375,7 +375,13 @@
   &quot;rawDisk&quot;: { # The parameters of the raw disk image.
     &quot;containerType&quot;: &quot;A String&quot;, # The format used to encode and transmit the block device, which should be TAR. This is just a container and transmission format and not a runtime format. Provided by the client when the disk image is created.
     &quot;sha1Checksum&quot;: &quot;A String&quot;, # [Deprecated] This field is deprecated. An optional SHA1 checksum of the disk image before unpackaging provided by the client when the disk image is created.
-    &quot;source&quot;: &quot;A String&quot;, # The full Google Cloud Storage URL where the disk image is stored. You must provide either this property or the sourceDisk property but not both.
+    &quot;source&quot;: &quot;A String&quot;, # The full Google Cloud Storage URL where the disk image is stored.
+        #
+        # In order to create an image, you must provide the full or partial URL of one of the following:
+        # - The rawDisk.source URL
+        # - The sourceDisk URL
+        # - The sourceImage URL
+        # - The sourceSnapshot URL
   },
   &quot;rolloutOverride&quot;: { # A rollout policy configuration. # A rollout policy to apply to this image. When specified, the rollout policy overrides per-zone references to the image via the associated image family. The rollout policy restricts the zones where this image is accessible when using a zonal image family reference. When the rollout policy does not include the user specified zone, or if the zone is rolled out, this image is accessible.
     &quot;defaultRolloutTime&quot;: &quot;A String&quot;, # An optional RFC3339 timestamp on or after which the update is considered rolled out to any zone that is not explicitly stated.
@@ -414,10 +420,16 @@
       &quot;fileType&quot;: &quot;A String&quot;, # The file type of source file.
     },
   },
-  &quot;sourceDisk&quot;: &quot;A String&quot;, # URL of the source disk used to create this image. This can be a full or valid partial URL. You must provide either this property or the rawDisk.source property but not both to create an image. For example, the following are valid values:
+  &quot;sourceDisk&quot;: &quot;A String&quot;, # URL of the source disk used to create this image. For example, the following are valid values:
       # - https://www.googleapis.com/compute/v1/projects/project/zones/zone/disks/disk
       # - projects/project/zones/zone/disks/disk
       # - zones/zone/disks/disk
+      #
+      # In order to create an image, you must provide the full or partial URL of one of the following:
+      # - The rawDisk.source URL
+      # - The sourceDisk URL
+      # - The sourceImage URL
+      # - The sourceSnapshot URL
   &quot;sourceDiskEncryptionKey&quot;: { # The customer-supplied encryption key of the source disk. Required if the source disk is protected by a customer-supplied encryption key.
     &quot;kmsKeyName&quot;: &quot;A String&quot;, # The name of the encryption key that is stored in Google Cloud KMS.
     &quot;kmsKeyServiceAccount&quot;: &quot;A String&quot;, # The service account being used for the encryption request for the given KMS key. If absent, the Compute Engine default service account is used.
@@ -434,10 +446,10 @@
   &quot;sourceImage&quot;: &quot;A String&quot;, # URL of the source image used to create this image.
       #
       # In order to create an image, you must provide the full or partial URL of one of the following:
-      # - The selfLink URL
-      # - This property
       # - The rawDisk.source URL
       # - The sourceDisk URL
+      # - The sourceImage URL
+      # - The sourceSnapshot URL
   &quot;sourceImageEncryptionKey&quot;: { # The customer-supplied encryption key of the source image. Required if the source image is protected by a customer-supplied encryption key.
     &quot;kmsKeyName&quot;: &quot;A String&quot;, # The name of the encryption key that is stored in Google Cloud KMS.
     &quot;kmsKeyServiceAccount&quot;: &quot;A String&quot;, # The service account being used for the encryption request for the given KMS key. If absent, the Compute Engine default service account is used.
@@ -454,11 +466,10 @@
   &quot;sourceSnapshot&quot;: &quot;A String&quot;, # URL of the source snapshot used to create this image.
       #
       # In order to create an image, you must provide the full or partial URL of one of the following:
-      # - The selfLink URL
-      # - This property
-      # - The sourceImage URL
       # - The rawDisk.source URL
       # - The sourceDisk URL
+      # - The sourceImage URL
+      # - The sourceSnapshot URL
   &quot;sourceSnapshotEncryptionKey&quot;: { # The customer-supplied encryption key of the source snapshot. Required if the source snapshot is protected by a customer-supplied encryption key.
     &quot;kmsKeyName&quot;: &quot;A String&quot;, # The name of the encryption key that is stored in Google Cloud KMS.
     &quot;kmsKeyServiceAccount&quot;: &quot;A String&quot;, # The service account being used for the encryption request for the given KMS key. If absent, the Compute Engine default service account is used.
@@ -557,7 +568,13 @@
   &quot;rawDisk&quot;: { # The parameters of the raw disk image.
     &quot;containerType&quot;: &quot;A String&quot;, # The format used to encode and transmit the block device, which should be TAR. This is just a container and transmission format and not a runtime format. Provided by the client when the disk image is created.
     &quot;sha1Checksum&quot;: &quot;A String&quot;, # [Deprecated] This field is deprecated. An optional SHA1 checksum of the disk image before unpackaging provided by the client when the disk image is created.
-    &quot;source&quot;: &quot;A String&quot;, # The full Google Cloud Storage URL where the disk image is stored. You must provide either this property or the sourceDisk property but not both.
+    &quot;source&quot;: &quot;A String&quot;, # The full Google Cloud Storage URL where the disk image is stored.
+        #
+        # In order to create an image, you must provide the full or partial URL of one of the following:
+        # - The rawDisk.source URL
+        # - The sourceDisk URL
+        # - The sourceImage URL
+        # - The sourceSnapshot URL
   },
   &quot;rolloutOverride&quot;: { # A rollout policy configuration. # A rollout policy to apply to this image. When specified, the rollout policy overrides per-zone references to the image via the associated image family. The rollout policy restricts the zones where this image is accessible when using a zonal image family reference. When the rollout policy does not include the user specified zone, or if the zone is rolled out, this image is accessible.
     &quot;defaultRolloutTime&quot;: &quot;A String&quot;, # An optional RFC3339 timestamp on or after which the update is considered rolled out to any zone that is not explicitly stated.
@@ -596,10 +613,16 @@
       &quot;fileType&quot;: &quot;A String&quot;, # The file type of source file.
     },
   },
-  &quot;sourceDisk&quot;: &quot;A String&quot;, # URL of the source disk used to create this image. This can be a full or valid partial URL. You must provide either this property or the rawDisk.source property but not both to create an image. For example, the following are valid values:
+  &quot;sourceDisk&quot;: &quot;A String&quot;, # URL of the source disk used to create this image. For example, the following are valid values:
       # - https://www.googleapis.com/compute/v1/projects/project/zones/zone/disks/disk
       # - projects/project/zones/zone/disks/disk
       # - zones/zone/disks/disk
+      #
+      # In order to create an image, you must provide the full or partial URL of one of the following:
+      # - The rawDisk.source URL
+      # - The sourceDisk URL
+      # - The sourceImage URL
+      # - The sourceSnapshot URL
   &quot;sourceDiskEncryptionKey&quot;: { # The customer-supplied encryption key of the source disk. Required if the source disk is protected by a customer-supplied encryption key.
     &quot;kmsKeyName&quot;: &quot;A String&quot;, # The name of the encryption key that is stored in Google Cloud KMS.
     &quot;kmsKeyServiceAccount&quot;: &quot;A String&quot;, # The service account being used for the encryption request for the given KMS key. If absent, the Compute Engine default service account is used.
@@ -616,10 +639,10 @@
   &quot;sourceImage&quot;: &quot;A String&quot;, # URL of the source image used to create this image.
       #
       # In order to create an image, you must provide the full or partial URL of one of the following:
-      # - The selfLink URL
-      # - This property
       # - The rawDisk.source URL
       # - The sourceDisk URL
+      # - The sourceImage URL
+      # - The sourceSnapshot URL
   &quot;sourceImageEncryptionKey&quot;: { # The customer-supplied encryption key of the source image. Required if the source image is protected by a customer-supplied encryption key.
     &quot;kmsKeyName&quot;: &quot;A String&quot;, # The name of the encryption key that is stored in Google Cloud KMS.
     &quot;kmsKeyServiceAccount&quot;: &quot;A String&quot;, # The service account being used for the encryption request for the given KMS key. If absent, the Compute Engine default service account is used.
@@ -636,11 +659,10 @@
   &quot;sourceSnapshot&quot;: &quot;A String&quot;, # URL of the source snapshot used to create this image.
       #
       # In order to create an image, you must provide the full or partial URL of one of the following:
-      # - The selfLink URL
-      # - This property
-      # - The sourceImage URL
       # - The rawDisk.source URL
       # - The sourceDisk URL
+      # - The sourceImage URL
+      # - The sourceSnapshot URL
   &quot;sourceSnapshotEncryptionKey&quot;: { # The customer-supplied encryption key of the source snapshot. Required if the source snapshot is protected by a customer-supplied encryption key.
     &quot;kmsKeyName&quot;: &quot;A String&quot;, # The name of the encryption key that is stored in Google Cloud KMS.
     &quot;kmsKeyServiceAccount&quot;: &quot;A String&quot;, # The service account being used for the encryption request for the given KMS key. If absent, the Compute Engine default service account is used.
@@ -933,7 +955,13 @@
   &quot;rawDisk&quot;: { # The parameters of the raw disk image.
     &quot;containerType&quot;: &quot;A String&quot;, # The format used to encode and transmit the block device, which should be TAR. This is just a container and transmission format and not a runtime format. Provided by the client when the disk image is created.
     &quot;sha1Checksum&quot;: &quot;A String&quot;, # [Deprecated] This field is deprecated. An optional SHA1 checksum of the disk image before unpackaging provided by the client when the disk image is created.
-    &quot;source&quot;: &quot;A String&quot;, # The full Google Cloud Storage URL where the disk image is stored. You must provide either this property or the sourceDisk property but not both.
+    &quot;source&quot;: &quot;A String&quot;, # The full Google Cloud Storage URL where the disk image is stored.
+        # 
+        # In order to create an image, you must provide the full or partial URL of one of the following:
+        # - The rawDisk.source URL
+        # - The sourceDisk URL
+        # - The sourceImage URL
+        # - The sourceSnapshot URL
   },
   &quot;rolloutOverride&quot;: { # A rollout policy configuration. # A rollout policy to apply to this image. When specified, the rollout policy overrides per-zone references to the image via the associated image family. The rollout policy restricts the zones where this image is accessible when using a zonal image family reference. When the rollout policy does not include the user specified zone, or if the zone is rolled out, this image is accessible.
     &quot;defaultRolloutTime&quot;: &quot;A String&quot;, # An optional RFC3339 timestamp on or after which the update is considered rolled out to any zone that is not explicitly stated.
@@ -972,10 +1000,16 @@
       &quot;fileType&quot;: &quot;A String&quot;, # The file type of source file.
     },
   },
-  &quot;sourceDisk&quot;: &quot;A String&quot;, # URL of the source disk used to create this image. This can be a full or valid partial URL. You must provide either this property or the rawDisk.source property but not both to create an image. For example, the following are valid values:
+  &quot;sourceDisk&quot;: &quot;A String&quot;, # URL of the source disk used to create this image. For example, the following are valid values:
       # - https://www.googleapis.com/compute/v1/projects/project/zones/zone/disks/disk
       # - projects/project/zones/zone/disks/disk
       # - zones/zone/disks/disk
+      # 
+      # In order to create an image, you must provide the full or partial URL of one of the following:
+      # - The rawDisk.source URL
+      # - The sourceDisk URL
+      # - The sourceImage URL
+      # - The sourceSnapshot URL
   &quot;sourceDiskEncryptionKey&quot;: { # The customer-supplied encryption key of the source disk. Required if the source disk is protected by a customer-supplied encryption key.
     &quot;kmsKeyName&quot;: &quot;A String&quot;, # The name of the encryption key that is stored in Google Cloud KMS.
     &quot;kmsKeyServiceAccount&quot;: &quot;A String&quot;, # The service account being used for the encryption request for the given KMS key. If absent, the Compute Engine default service account is used.
@@ -992,10 +1026,10 @@
   &quot;sourceImage&quot;: &quot;A String&quot;, # URL of the source image used to create this image.
       # 
       # In order to create an image, you must provide the full or partial URL of one of the following:
-      # - The selfLink URL
-      # - This property
       # - The rawDisk.source URL
       # - The sourceDisk URL
+      # - The sourceImage URL
+      # - The sourceSnapshot URL
   &quot;sourceImageEncryptionKey&quot;: { # The customer-supplied encryption key of the source image. Required if the source image is protected by a customer-supplied encryption key.
     &quot;kmsKeyName&quot;: &quot;A String&quot;, # The name of the encryption key that is stored in Google Cloud KMS.
     &quot;kmsKeyServiceAccount&quot;: &quot;A String&quot;, # The service account being used for the encryption request for the given KMS key. If absent, the Compute Engine default service account is used.
@@ -1012,11 +1046,10 @@
   &quot;sourceSnapshot&quot;: &quot;A String&quot;, # URL of the source snapshot used to create this image.
       # 
       # In order to create an image, you must provide the full or partial URL of one of the following:
-      # - The selfLink URL
-      # - This property
-      # - The sourceImage URL
       # - The rawDisk.source URL
       # - The sourceDisk URL
+      # - The sourceImage URL
+      # - The sourceSnapshot URL
   &quot;sourceSnapshotEncryptionKey&quot;: { # The customer-supplied encryption key of the source snapshot. Required if the source snapshot is protected by a customer-supplied encryption key.
     &quot;kmsKeyName&quot;: &quot;A String&quot;, # The name of the encryption key that is stored in Google Cloud KMS.
     &quot;kmsKeyServiceAccount&quot;: &quot;A String&quot;, # The service account being used for the encryption request for the given KMS key. If absent, the Compute Engine default service account is used.
@@ -1204,7 +1237,13 @@
       &quot;rawDisk&quot;: { # The parameters of the raw disk image.
         &quot;containerType&quot;: &quot;A String&quot;, # The format used to encode and transmit the block device, which should be TAR. This is just a container and transmission format and not a runtime format. Provided by the client when the disk image is created.
         &quot;sha1Checksum&quot;: &quot;A String&quot;, # [Deprecated] This field is deprecated. An optional SHA1 checksum of the disk image before unpackaging provided by the client when the disk image is created.
-        &quot;source&quot;: &quot;A String&quot;, # The full Google Cloud Storage URL where the disk image is stored. You must provide either this property or the sourceDisk property but not both.
+        &quot;source&quot;: &quot;A String&quot;, # The full Google Cloud Storage URL where the disk image is stored.
+            #
+            # In order to create an image, you must provide the full or partial URL of one of the following:
+            # - The rawDisk.source URL
+            # - The sourceDisk URL
+            # - The sourceImage URL
+            # - The sourceSnapshot URL
       },
       &quot;rolloutOverride&quot;: { # A rollout policy configuration. # A rollout policy to apply to this image. When specified, the rollout policy overrides per-zone references to the image via the associated image family. The rollout policy restricts the zones where this image is accessible when using a zonal image family reference. When the rollout policy does not include the user specified zone, or if the zone is rolled out, this image is accessible.
         &quot;defaultRolloutTime&quot;: &quot;A String&quot;, # An optional RFC3339 timestamp on or after which the update is considered rolled out to any zone that is not explicitly stated.
@@ -1243,10 +1282,16 @@
           &quot;fileType&quot;: &quot;A String&quot;, # The file type of source file.
         },
       },
-      &quot;sourceDisk&quot;: &quot;A String&quot;, # URL of the source disk used to create this image. This can be a full or valid partial URL. You must provide either this property or the rawDisk.source property but not both to create an image. For example, the following are valid values:
+      &quot;sourceDisk&quot;: &quot;A String&quot;, # URL of the source disk used to create this image. For example, the following are valid values:
           # - https://www.googleapis.com/compute/v1/projects/project/zones/zone/disks/disk
           # - projects/project/zones/zone/disks/disk
           # - zones/zone/disks/disk
+          #
+          # In order to create an image, you must provide the full or partial URL of one of the following:
+          # - The rawDisk.source URL
+          # - The sourceDisk URL
+          # - The sourceImage URL
+          # - The sourceSnapshot URL
       &quot;sourceDiskEncryptionKey&quot;: { # The customer-supplied encryption key of the source disk. Required if the source disk is protected by a customer-supplied encryption key.
         &quot;kmsKeyName&quot;: &quot;A String&quot;, # The name of the encryption key that is stored in Google Cloud KMS.
         &quot;kmsKeyServiceAccount&quot;: &quot;A String&quot;, # The service account being used for the encryption request for the given KMS key. If absent, the Compute Engine default service account is used.
@@ -1263,10 +1308,10 @@
       &quot;sourceImage&quot;: &quot;A String&quot;, # URL of the source image used to create this image.
           #
           # In order to create an image, you must provide the full or partial URL of one of the following:
-          # - The selfLink URL
-          # - This property
           # - The rawDisk.source URL
           # - The sourceDisk URL
+          # - The sourceImage URL
+          # - The sourceSnapshot URL
       &quot;sourceImageEncryptionKey&quot;: { # The customer-supplied encryption key of the source image. Required if the source image is protected by a customer-supplied encryption key.
         &quot;kmsKeyName&quot;: &quot;A String&quot;, # The name of the encryption key that is stored in Google Cloud KMS.
         &quot;kmsKeyServiceAccount&quot;: &quot;A String&quot;, # The service account being used for the encryption request for the given KMS key. If absent, the Compute Engine default service account is used.
@@ -1283,11 +1328,10 @@
       &quot;sourceSnapshot&quot;: &quot;A String&quot;, # URL of the source snapshot used to create this image.
           #
           # In order to create an image, you must provide the full or partial URL of one of the following:
-          # - The selfLink URL
-          # - This property
-          # - The sourceImage URL
           # - The rawDisk.source URL
           # - The sourceDisk URL
+          # - The sourceImage URL
+          # - The sourceSnapshot URL
       &quot;sourceSnapshotEncryptionKey&quot;: { # The customer-supplied encryption key of the source snapshot. Required if the source snapshot is protected by a customer-supplied encryption key.
         &quot;kmsKeyName&quot;: &quot;A String&quot;, # The name of the encryption key that is stored in Google Cloud KMS.
         &quot;kmsKeyServiceAccount&quot;: &quot;A String&quot;, # The service account being used for the encryption request for the given KMS key. If absent, the Compute Engine default service account is used.
@@ -1415,7 +1459,13 @@
   &quot;rawDisk&quot;: { # The parameters of the raw disk image.
     &quot;containerType&quot;: &quot;A String&quot;, # The format used to encode and transmit the block device, which should be TAR. This is just a container and transmission format and not a runtime format. Provided by the client when the disk image is created.
     &quot;sha1Checksum&quot;: &quot;A String&quot;, # [Deprecated] This field is deprecated. An optional SHA1 checksum of the disk image before unpackaging provided by the client when the disk image is created.
-    &quot;source&quot;: &quot;A String&quot;, # The full Google Cloud Storage URL where the disk image is stored. You must provide either this property or the sourceDisk property but not both.
+    &quot;source&quot;: &quot;A String&quot;, # The full Google Cloud Storage URL where the disk image is stored.
+        # 
+        # In order to create an image, you must provide the full or partial URL of one of the following:
+        # - The rawDisk.source URL
+        # - The sourceDisk URL
+        # - The sourceImage URL
+        # - The sourceSnapshot URL
   },
   &quot;rolloutOverride&quot;: { # A rollout policy configuration. # A rollout policy to apply to this image. When specified, the rollout policy overrides per-zone references to the image via the associated image family. The rollout policy restricts the zones where this image is accessible when using a zonal image family reference. When the rollout policy does not include the user specified zone, or if the zone is rolled out, this image is accessible.
     &quot;defaultRolloutTime&quot;: &quot;A String&quot;, # An optional RFC3339 timestamp on or after which the update is considered rolled out to any zone that is not explicitly stated.
@@ -1454,10 +1504,16 @@
       &quot;fileType&quot;: &quot;A String&quot;, # The file type of source file.
     },
   },
-  &quot;sourceDisk&quot;: &quot;A String&quot;, # URL of the source disk used to create this image. This can be a full or valid partial URL. You must provide either this property or the rawDisk.source property but not both to create an image. For example, the following are valid values:
+  &quot;sourceDisk&quot;: &quot;A String&quot;, # URL of the source disk used to create this image. For example, the following are valid values:
       # - https://www.googleapis.com/compute/v1/projects/project/zones/zone/disks/disk
       # - projects/project/zones/zone/disks/disk
       # - zones/zone/disks/disk
+      # 
+      # In order to create an image, you must provide the full or partial URL of one of the following:
+      # - The rawDisk.source URL
+      # - The sourceDisk URL
+      # - The sourceImage URL
+      # - The sourceSnapshot URL
   &quot;sourceDiskEncryptionKey&quot;: { # The customer-supplied encryption key of the source disk. Required if the source disk is protected by a customer-supplied encryption key.
     &quot;kmsKeyName&quot;: &quot;A String&quot;, # The name of the encryption key that is stored in Google Cloud KMS.
     &quot;kmsKeyServiceAccount&quot;: &quot;A String&quot;, # The service account being used for the encryption request for the given KMS key. If absent, the Compute Engine default service account is used.
@@ -1474,10 +1530,10 @@
   &quot;sourceImage&quot;: &quot;A String&quot;, # URL of the source image used to create this image.
       # 
       # In order to create an image, you must provide the full or partial URL of one of the following:
-      # - The selfLink URL
-      # - This property
       # - The rawDisk.source URL
       # - The sourceDisk URL
+      # - The sourceImage URL
+      # - The sourceSnapshot URL
   &quot;sourceImageEncryptionKey&quot;: { # The customer-supplied encryption key of the source image. Required if the source image is protected by a customer-supplied encryption key.
     &quot;kmsKeyName&quot;: &quot;A String&quot;, # The name of the encryption key that is stored in Google Cloud KMS.
     &quot;kmsKeyServiceAccount&quot;: &quot;A String&quot;, # The service account being used for the encryption request for the given KMS key. If absent, the Compute Engine default service account is used.
@@ -1494,11 +1550,10 @@
   &quot;sourceSnapshot&quot;: &quot;A String&quot;, # URL of the source snapshot used to create this image.
       # 
       # In order to create an image, you must provide the full or partial URL of one of the following:
-      # - The selfLink URL
-      # - This property
-      # - The sourceImage URL
       # - The rawDisk.source URL
       # - The sourceDisk URL
+      # - The sourceImage URL
+      # - The sourceSnapshot URL
   &quot;sourceSnapshotEncryptionKey&quot;: { # The customer-supplied encryption key of the source snapshot. Required if the source snapshot is protected by a customer-supplied encryption key.
     &quot;kmsKeyName&quot;: &quot;A String&quot;, # The name of the encryption key that is stored in Google Cloud KMS.
     &quot;kmsKeyServiceAccount&quot;: &quot;A String&quot;, # The service account being used for the encryption request for the given KMS key. If absent, the Compute Engine default service account is used.
diff --git a/docs/dyn/compute_alpha.instanceGroupManagers.html b/docs/dyn/compute_alpha.instanceGroupManagers.html
index d96c632..9a68440 100644
--- a/docs/dyn/compute_alpha.instanceGroupManagers.html
+++ b/docs/dyn/compute_alpha.instanceGroupManagers.html
@@ -300,7 +300,9 @@
   &quot;items&quot;: { # A list of InstanceGroupManagersScopedList resources.
     &quot;a_key&quot;: { # [Output Only] The name of the scope that contains this set of managed instance groups.
       &quot;instanceGroupManagers&quot;: [ # [Output Only] The list of managed instance groups that are contained in the specified project and zone.
-        { # Represents a Managed Instance Group resource.
+        { # Whether the instance is a standby. Properties of a standby instance comparing to the regular instance: ========================================================================= | regular | standby ========================================================================= managed by IGM? | yes | yes added to the IG? | yes | yes counts towards IGM&#x27;s target size? | yes | no taken into account by Autoscaler? | yes | no receives traffic from LB? | yes | no =========================================================================
+            #
+            # Represents a Managed Instance Group resource.
             #
             # An instance group is a collection of VM instances that you can manage as a single entity. For more information, read Instance groups.
             #
@@ -849,6 +851,7 @@
   &quot;instances&quot;: [ # The URLs of one or more instances to delete. This can be a full URL or a partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME].
     &quot;A String&quot;,
   ],
+  &quot;skipInstancesOnValidationError&quot;: True or False, # Specifies whether the request should proceed despite the inclusion of instances that are not members of the group or that are already in the process of being deleted or abandoned. If this field is set to `false` and such an instance is specified in the request, the operation fails. The operation always fails if the request contains a malformed instance URL or a reference to an instance that exists in a zone or region other than the group&#x27;s zone or region.
 }
 
   requestId: string, An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.
@@ -1017,7 +1020,9 @@
 Returns:
   An object of the form:
 
-    { # Represents a Managed Instance Group resource.
+    { # Whether the instance is a standby. Properties of a standby instance comparing to the regular instance: ========================================================================= | regular | standby ========================================================================= managed by IGM? | yes | yes added to the IG? | yes | yes counts towards IGM&#x27;s target size? | yes | no taken into account by Autoscaler? | yes | no receives traffic from LB? | yes | no =========================================================================
+    #
+    # Represents a Managed Instance Group resource.
     #
     # An instance group is a collection of VM instances that you can manage as a single entity. For more information, read Instance groups.
     #
@@ -1212,7 +1217,9 @@
   body: object, The request body.
     The object takes the form of:
 
-{ # Represents a Managed Instance Group resource.
+{ # Whether the instance is a standby. Properties of a standby instance comparing to the regular instance: ========================================================================= | regular | standby ========================================================================= managed by IGM? | yes | yes added to the IG? | yes | yes counts towards IGM&#x27;s target size? | yes | no taken into account by Autoscaler? | yes | no receives traffic from LB? | yes | no =========================================================================
+    # 
+    # Represents a Managed Instance Group resource.
     # 
     # An instance group is a collection of VM instances that you can manage as a single entity. For more information, read Instance groups.
     # 
@@ -1494,7 +1501,9 @@
     { # [Output Only] A list of managed instance groups.
   &quot;id&quot;: &quot;A String&quot;, # [Output Only] Unique identifier for the resource; defined by the server.
   &quot;items&quot;: [ # A list of InstanceGroupManager resources.
-    { # Represents a Managed Instance Group resource.
+    { # Whether the instance is a standby. Properties of a standby instance comparing to the regular instance: ========================================================================= | regular | standby ========================================================================= managed by IGM? | yes | yes added to the IG? | yes | yes counts towards IGM&#x27;s target size? | yes | no taken into account by Autoscaler? | yes | no receives traffic from LB? | yes | no =========================================================================
+        #
+        # Represents a Managed Instance Group resource.
         #
         # An instance group is a collection of VM instances that you can manage as a single entity. For more information, read Instance groups.
         #
@@ -2023,7 +2032,9 @@
   body: object, The request body.
     The object takes the form of:
 
-{ # Represents a Managed Instance Group resource.
+{ # Whether the instance is a standby. Properties of a standby instance comparing to the regular instance: ========================================================================= | regular | standby ========================================================================= managed by IGM? | yes | yes added to the IG? | yes | yes counts towards IGM&#x27;s target size? | yes | no taken into account by Autoscaler? | yes | no receives traffic from LB? | yes | no =========================================================================
+    # 
+    # Represents a Managed Instance Group resource.
     # 
     # An instance group is a collection of VM instances that you can manage as a single entity. For more information, read Instance groups.
     # 
@@ -3373,7 +3384,9 @@
   body: object, The request body.
     The object takes the form of:
 
-{ # Represents a Managed Instance Group resource.
+{ # Whether the instance is a standby. Properties of a standby instance comparing to the regular instance: ========================================================================= | regular | standby ========================================================================= managed by IGM? | yes | yes added to the IG? | yes | yes counts towards IGM&#x27;s target size? | yes | no taken into account by Autoscaler? | yes | no receives traffic from LB? | yes | no =========================================================================
+    # 
+    # Represents a Managed Instance Group resource.
     # 
     # An instance group is a collection of VM instances that you can manage as a single entity. For more information, read Instance groups.
     # 
diff --git a/docs/dyn/compute_alpha.instanceTemplates.html b/docs/dyn/compute_alpha.instanceTemplates.html
index ae439b7..a291bc7 100644
--- a/docs/dyn/compute_alpha.instanceTemplates.html
+++ b/docs/dyn/compute_alpha.instanceTemplates.html
@@ -502,7 +502,7 @@
     &quot;resourcePolicies&quot;: [ # Resource policies (names, not ULRs) applied to instances created from these properties.
       &quot;A String&quot;,
     ],
-    &quot;scheduling&quot;: { # Sets the scheduling options for an Instance. NextID: 20 # Specifies the scheduling options for the instances that are created from these properties.
+    &quot;scheduling&quot;: { # Sets the scheduling options for an Instance. NextID: 21 # Specifies the scheduling options for the instances that are created from these properties.
       &quot;automaticRestart&quot;: True or False, # Specifies whether the instance should be automatically restarted if it is terminated by Compute Engine (not terminated by a user). You can only set the automatic restart option for standard instances. Preemptible instances cannot be automatically restarted.
           #
           # By default, this is set to true so an instance is automatically restarted if it is terminated by Compute Engine.
@@ -524,6 +524,9 @@
       &quot;onHostMaintenance&quot;: &quot;A String&quot;, # Defines the maintenance behavior for this instance. For standard instances, the default behavior is MIGRATE. For preemptible instances, the default and only possible behavior is TERMINATE. For more information, see Setting Instance Scheduling Options.
       &quot;preemptible&quot;: True or False, # Defines whether the instance is preemptible. This can only be set during instance creation or while the instance is stopped and therefore, in a `TERMINATED` state. See Instance Life Cycle for more information on the possible instance states.
     },
+    &quot;secureTags&quot;: [ # Secure tags to apply to this instance. Maximum number of secure tags allowed is 50.
+      &quot;A String&quot;,
+    ],
     &quot;serviceAccounts&quot;: [ # A list of service accounts with specified scopes. Access tokens for these service accounts are available to the instances that are created from these properties. Use metadata queries to obtain the access tokens for these instances.
       { # A service account.
         &quot;email&quot;: &quot;A String&quot;, # Email address of the service account.
@@ -1085,7 +1088,7 @@
     &quot;resourcePolicies&quot;: [ # Resource policies (names, not ULRs) applied to instances created from these properties.
       &quot;A String&quot;,
     ],
-    &quot;scheduling&quot;: { # Sets the scheduling options for an Instance. NextID: 20 # Specifies the scheduling options for the instances that are created from these properties.
+    &quot;scheduling&quot;: { # Sets the scheduling options for an Instance. NextID: 21 # Specifies the scheduling options for the instances that are created from these properties.
       &quot;automaticRestart&quot;: True or False, # Specifies whether the instance should be automatically restarted if it is terminated by Compute Engine (not terminated by a user). You can only set the automatic restart option for standard instances. Preemptible instances cannot be automatically restarted.
           #
           # By default, this is set to true so an instance is automatically restarted if it is terminated by Compute Engine.
@@ -1107,6 +1110,9 @@
       &quot;onHostMaintenance&quot;: &quot;A String&quot;, # Defines the maintenance behavior for this instance. For standard instances, the default behavior is MIGRATE. For preemptible instances, the default and only possible behavior is TERMINATE. For more information, see Setting Instance Scheduling Options.
       &quot;preemptible&quot;: True or False, # Defines whether the instance is preemptible. This can only be set during instance creation or while the instance is stopped and therefore, in a `TERMINATED` state. See Instance Life Cycle for more information on the possible instance states.
     },
+    &quot;secureTags&quot;: [ # Secure tags to apply to this instance. Maximum number of secure tags allowed is 50.
+      &quot;A String&quot;,
+    ],
     &quot;serviceAccounts&quot;: [ # A list of service accounts with specified scopes. Access tokens for these service accounts are available to the instances that are created from these properties. Use metadata queries to obtain the access tokens for these instances.
       { # A service account.
         &quot;email&quot;: &quot;A String&quot;, # Email address of the service account.
@@ -1561,7 +1567,7 @@
         &quot;resourcePolicies&quot;: [ # Resource policies (names, not ULRs) applied to instances created from these properties.
           &quot;A String&quot;,
         ],
-        &quot;scheduling&quot;: { # Sets the scheduling options for an Instance. NextID: 20 # Specifies the scheduling options for the instances that are created from these properties.
+        &quot;scheduling&quot;: { # Sets the scheduling options for an Instance. NextID: 21 # Specifies the scheduling options for the instances that are created from these properties.
           &quot;automaticRestart&quot;: True or False, # Specifies whether the instance should be automatically restarted if it is terminated by Compute Engine (not terminated by a user). You can only set the automatic restart option for standard instances. Preemptible instances cannot be automatically restarted.
               #
               # By default, this is set to true so an instance is automatically restarted if it is terminated by Compute Engine.
@@ -1583,6 +1589,9 @@
           &quot;onHostMaintenance&quot;: &quot;A String&quot;, # Defines the maintenance behavior for this instance. For standard instances, the default behavior is MIGRATE. For preemptible instances, the default and only possible behavior is TERMINATE. For more information, see Setting Instance Scheduling Options.
           &quot;preemptible&quot;: True or False, # Defines whether the instance is preemptible. This can only be set during instance creation or while the instance is stopped and therefore, in a `TERMINATED` state. See Instance Life Cycle for more information on the possible instance states.
         },
+        &quot;secureTags&quot;: [ # Secure tags to apply to this instance. Maximum number of secure tags allowed is 50.
+          &quot;A String&quot;,
+        ],
         &quot;serviceAccounts&quot;: [ # A list of service accounts with specified scopes. Access tokens for these service accounts are available to the instances that are created from these properties. Use metadata queries to obtain the access tokens for these instances.
           { # A service account.
             &quot;email&quot;: &quot;A String&quot;, # Email address of the service account.
diff --git a/docs/dyn/compute_alpha.instances.html b/docs/dyn/compute_alpha.instances.html
index 2f30d82..b07a7ba 100644
--- a/docs/dyn/compute_alpha.instances.html
+++ b/docs/dyn/compute_alpha.instances.html
@@ -808,7 +808,7 @@
             },
           },
           &quot;satisfiesPzs&quot;: True or False, # [Output Only] Reserved for future use.
-          &quot;scheduling&quot;: { # Sets the scheduling options for an Instance. NextID: 20 # Sets the scheduling options for this instance.
+          &quot;scheduling&quot;: { # Sets the scheduling options for an Instance. NextID: 21 # Sets the scheduling options for this instance.
             &quot;automaticRestart&quot;: True or False, # Specifies whether the instance should be automatically restarted if it is terminated by Compute Engine (not terminated by a user). You can only set the automatic restart option for standard instances. Preemptible instances cannot be automatically restarted.
                 #
                 # By default, this is set to true so an instance is automatically restarted if it is terminated by Compute Engine.
@@ -830,7 +830,7 @@
             &quot;onHostMaintenance&quot;: &quot;A String&quot;, # Defines the maintenance behavior for this instance. For standard instances, the default behavior is MIGRATE. For preemptible instances, the default and only possible behavior is TERMINATE. For more information, see Setting Instance Scheduling Options.
             &quot;preemptible&quot;: True or False, # Defines whether the instance is preemptible. This can only be set during instance creation or while the instance is stopped and therefore, in a `TERMINATED` state. See Instance Life Cycle for more information on the possible instance states.
           },
-          &quot;secureTags&quot;: [ # Secure tags to apply to this instance. These can be later modified by the update method. Maximum number of secure tags allowed is 300.
+          &quot;secureTags&quot;: [ # [Input Only] Secure tags to apply to this instance. These can be later modified by the update method. Maximum number of secure tags allowed is 50.
             &quot;A String&quot;,
           ],
           &quot;selfLink&quot;: &quot;A String&quot;, # [Output Only] Server-defined URL for this resource.
@@ -1201,7 +1201,7 @@
   body: object, The request body.
     The object takes the form of:
 
-{
+{ # A transient resource used in compute.instances.bulkInsert and compute.regionInstances.bulkInsert and compute.regionInstances.recommendLocations. This resource is not persisted anywhere, it is used only for processing the requests.
   &quot;count&quot;: &quot;A String&quot;, # The maximum number of instances to create.
   &quot;instance&quot;: { # Represents an Instance resource. # DEPRECATED: Please use instance_properties instead.
       #
@@ -1557,7 +1557,7 @@
       },
     },
     &quot;satisfiesPzs&quot;: True or False, # [Output Only] Reserved for future use.
-    &quot;scheduling&quot;: { # Sets the scheduling options for an Instance. NextID: 20 # Sets the scheduling options for this instance.
+    &quot;scheduling&quot;: { # Sets the scheduling options for an Instance. NextID: 21 # Sets the scheduling options for this instance.
       &quot;automaticRestart&quot;: True or False, # Specifies whether the instance should be automatically restarted if it is terminated by Compute Engine (not terminated by a user). You can only set the automatic restart option for standard instances. Preemptible instances cannot be automatically restarted.
           #
           # By default, this is set to true so an instance is automatically restarted if it is terminated by Compute Engine.
@@ -1579,7 +1579,7 @@
       &quot;onHostMaintenance&quot;: &quot;A String&quot;, # Defines the maintenance behavior for this instance. For standard instances, the default behavior is MIGRATE. For preemptible instances, the default and only possible behavior is TERMINATE. For more information, see Setting Instance Scheduling Options.
       &quot;preemptible&quot;: True or False, # Defines whether the instance is preemptible. This can only be set during instance creation or while the instance is stopped and therefore, in a `TERMINATED` state. See Instance Life Cycle for more information on the possible instance states.
     },
-    &quot;secureTags&quot;: [ # Secure tags to apply to this instance. These can be later modified by the update method. Maximum number of secure tags allowed is 300.
+    &quot;secureTags&quot;: [ # [Input Only] Secure tags to apply to this instance. These can be later modified by the update method. Maximum number of secure tags allowed is 50.
       &quot;A String&quot;,
     ],
     &quot;selfLink&quot;: &quot;A String&quot;, # [Output Only] Server-defined URL for this resource.
@@ -1943,7 +1943,7 @@
     &quot;resourcePolicies&quot;: [ # Resource policies (names, not ULRs) applied to instances created from these properties.
       &quot;A String&quot;,
     ],
-    &quot;scheduling&quot;: { # Sets the scheduling options for an Instance. NextID: 20 # Specifies the scheduling options for the instances that are created from these properties.
+    &quot;scheduling&quot;: { # Sets the scheduling options for an Instance. NextID: 21 # Specifies the scheduling options for the instances that are created from these properties.
       &quot;automaticRestart&quot;: True or False, # Specifies whether the instance should be automatically restarted if it is terminated by Compute Engine (not terminated by a user). You can only set the automatic restart option for standard instances. Preemptible instances cannot be automatically restarted.
           #
           # By default, this is set to true so an instance is automatically restarted if it is terminated by Compute Engine.
@@ -1965,6 +1965,9 @@
       &quot;onHostMaintenance&quot;: &quot;A String&quot;, # Defines the maintenance behavior for this instance. For standard instances, the default behavior is MIGRATE. For preemptible instances, the default and only possible behavior is TERMINATE. For more information, see Setting Instance Scheduling Options.
       &quot;preemptible&quot;: True or False, # Defines whether the instance is preemptible. This can only be set during instance creation or while the instance is stopped and therefore, in a `TERMINATED` state. See Instance Life Cycle for more information on the possible instance states.
     },
+    &quot;secureTags&quot;: [ # Secure tags to apply to this instance. Maximum number of secure tags allowed is 50.
+      &quot;A String&quot;,
+    ],
     &quot;serviceAccounts&quot;: [ # A list of service accounts with specified scopes. Access tokens for these service accounts are available to the instances that are created from these properties. Use metadata queries to obtain the access tokens for these instances.
       { # A service account.
         &quot;email&quot;: &quot;A String&quot;, # Email address of the service account.
@@ -1995,7 +1998,7 @@
   &quot;locationPolicy&quot;: { # Configuration for location policy among multiple possible locations (e.g. preferences for zone selection among zones in a single region). # Policy for chosing target zone.
     &quot;locations&quot;: { # Location configurations mapped by location name. Currently only zone names are supported and must be represented as valid internal URLs, such as zones/us-central1-a.
       &quot;a_key&quot;: {
-        &quot;preference&quot;: &quot;A String&quot;, # Preference for a given locaction: ALLOW or DENY.
+        &quot;preference&quot;: &quot;A String&quot;, # Preference for a given location: ALLOW or DENY.
       },
     },
   },
@@ -2009,7 +2012,7 @@
   &quot;predefinedNames&quot;: [ # DEPRECATED: Please use per_instance_properties instead.
     &quot;A String&quot;,
   ],
-  &quot;secureTags&quot;: [ # Secure tags to apply to this instance. These can be later modified by the update method. Maximum number of secure tags allowed is 300.
+  &quot;secureTags&quot;: [ # Secure tags to apply to this instance. These can be later modified by the update method. Maximum number of secure tags allowed is 50.
     &quot;A String&quot;,
   ],
   &quot;sourceInstanceTemplate&quot;: &quot;A String&quot;, # Specifies the instance template from which to create instances. You may combine sourceInstanceTemplate with instanceProperties to override specific values from an existing instance template. Bulk API follows the semantics of JSON Merge Patch described by RFC 7396.
@@ -2704,7 +2707,7 @@
     },
   },
   &quot;satisfiesPzs&quot;: True or False, # [Output Only] Reserved for future use.
-  &quot;scheduling&quot;: { # Sets the scheduling options for an Instance. NextID: 20 # Sets the scheduling options for this instance.
+  &quot;scheduling&quot;: { # Sets the scheduling options for an Instance. NextID: 21 # Sets the scheduling options for this instance.
     &quot;automaticRestart&quot;: True or False, # Specifies whether the instance should be automatically restarted if it is terminated by Compute Engine (not terminated by a user). You can only set the automatic restart option for standard instances. Preemptible instances cannot be automatically restarted.
         #
         # By default, this is set to true so an instance is automatically restarted if it is terminated by Compute Engine.
@@ -2726,7 +2729,7 @@
     &quot;onHostMaintenance&quot;: &quot;A String&quot;, # Defines the maintenance behavior for this instance. For standard instances, the default behavior is MIGRATE. For preemptible instances, the default and only possible behavior is TERMINATE. For more information, see Setting Instance Scheduling Options.
     &quot;preemptible&quot;: True or False, # Defines whether the instance is preemptible. This can only be set during instance creation or while the instance is stopped and therefore, in a `TERMINATED` state. See Instance Life Cycle for more information on the possible instance states.
   },
-  &quot;secureTags&quot;: [ # Secure tags to apply to this instance. These can be later modified by the update method. Maximum number of secure tags allowed is 300.
+  &quot;secureTags&quot;: [ # [Input Only] Secure tags to apply to this instance. These can be later modified by the update method. Maximum number of secure tags allowed is 50.
     &quot;A String&quot;,
   ],
   &quot;selfLink&quot;: &quot;A String&quot;, # [Output Only] Server-defined URL for this resource.
@@ -3736,7 +3739,7 @@
     },
   },
   &quot;satisfiesPzs&quot;: True or False, # [Output Only] Reserved for future use.
-  &quot;scheduling&quot;: { # Sets the scheduling options for an Instance. NextID: 20 # Sets the scheduling options for this instance.
+  &quot;scheduling&quot;: { # Sets the scheduling options for an Instance. NextID: 21 # Sets the scheduling options for this instance.
     &quot;automaticRestart&quot;: True or False, # Specifies whether the instance should be automatically restarted if it is terminated by Compute Engine (not terminated by a user). You can only set the automatic restart option for standard instances. Preemptible instances cannot be automatically restarted.
         #
         # By default, this is set to true so an instance is automatically restarted if it is terminated by Compute Engine.
@@ -3758,7 +3761,7 @@
     &quot;onHostMaintenance&quot;: &quot;A String&quot;, # Defines the maintenance behavior for this instance. For standard instances, the default behavior is MIGRATE. For preemptible instances, the default and only possible behavior is TERMINATE. For more information, see Setting Instance Scheduling Options.
     &quot;preemptible&quot;: True or False, # Defines whether the instance is preemptible. This can only be set during instance creation or while the instance is stopped and therefore, in a `TERMINATED` state. See Instance Life Cycle for more information on the possible instance states.
   },
-  &quot;secureTags&quot;: [ # Secure tags to apply to this instance. These can be later modified by the update method. Maximum number of secure tags allowed is 300.
+  &quot;secureTags&quot;: [ # [Input Only] Secure tags to apply to this instance. These can be later modified by the update method. Maximum number of secure tags allowed is 50.
     &quot;A String&quot;,
   ],
   &quot;selfLink&quot;: &quot;A String&quot;, # [Output Only] Server-defined URL for this resource.
@@ -3830,7 +3833,7 @@
 For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.
 
 The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
-  secureTags: string, Secure tags to apply to this instance. These can be later modified by the update method. Maximum number of secure tags allowed is 300. (repeated)
+  secureTags: string, Secure tags to apply to this instance. These can be later modified by the update method. Maximum number of secure tags allowed is 50. (repeated)
   sourceInstanceTemplate: string, Specifies instance template to create the instance.
 
 This field is optional. It can be a full or partial URL. For example, the following are all valid URLs to an instance template:  
@@ -4292,7 +4295,7 @@
         },
       },
       &quot;satisfiesPzs&quot;: True or False, # [Output Only] Reserved for future use.
-      &quot;scheduling&quot;: { # Sets the scheduling options for an Instance. NextID: 20 # Sets the scheduling options for this instance.
+      &quot;scheduling&quot;: { # Sets the scheduling options for an Instance. NextID: 21 # Sets the scheduling options for this instance.
         &quot;automaticRestart&quot;: True or False, # Specifies whether the instance should be automatically restarted if it is terminated by Compute Engine (not terminated by a user). You can only set the automatic restart option for standard instances. Preemptible instances cannot be automatically restarted.
             #
             # By default, this is set to true so an instance is automatically restarted if it is terminated by Compute Engine.
@@ -4314,7 +4317,7 @@
         &quot;onHostMaintenance&quot;: &quot;A String&quot;, # Defines the maintenance behavior for this instance. For standard instances, the default behavior is MIGRATE. For preemptible instances, the default and only possible behavior is TERMINATE. For more information, see Setting Instance Scheduling Options.
         &quot;preemptible&quot;: True or False, # Defines whether the instance is preemptible. This can only be set during instance creation or while the instance is stopped and therefore, in a `TERMINATED` state. See Instance Life Cycle for more information on the possible instance states.
       },
-      &quot;secureTags&quot;: [ # Secure tags to apply to this instance. These can be later modified by the update method. Maximum number of secure tags allowed is 300.
+      &quot;secureTags&quot;: [ # [Input Only] Secure tags to apply to this instance. These can be later modified by the update method. Maximum number of secure tags allowed is 50.
         &quot;A String&quot;,
       ],
       &quot;selfLink&quot;: &quot;A String&quot;, # [Output Only] Server-defined URL for this resource.
@@ -5931,7 +5934,7 @@
   body: object, The request body.
     The object takes the form of:
 
-{ # Sets the scheduling options for an Instance. NextID: 20
+{ # Sets the scheduling options for an Instance. NextID: 21
   &quot;automaticRestart&quot;: True or False, # Specifies whether the instance should be automatically restarted if it is terminated by Compute Engine (not terminated by a user). You can only set the automatic restart option for standard instances. Preemptible instances cannot be automatically restarted.
       # 
       # By default, this is set to true so an instance is automatically restarted if it is terminated by Compute Engine.
@@ -7203,7 +7206,7 @@
     },
   },
   &quot;satisfiesPzs&quot;: True or False, # [Output Only] Reserved for future use.
-  &quot;scheduling&quot;: { # Sets the scheduling options for an Instance. NextID: 20 # Sets the scheduling options for this instance.
+  &quot;scheduling&quot;: { # Sets the scheduling options for an Instance. NextID: 21 # Sets the scheduling options for this instance.
     &quot;automaticRestart&quot;: True or False, # Specifies whether the instance should be automatically restarted if it is terminated by Compute Engine (not terminated by a user). You can only set the automatic restart option for standard instances. Preemptible instances cannot be automatically restarted.
         #
         # By default, this is set to true so an instance is automatically restarted if it is terminated by Compute Engine.
@@ -7225,7 +7228,7 @@
     &quot;onHostMaintenance&quot;: &quot;A String&quot;, # Defines the maintenance behavior for this instance. For standard instances, the default behavior is MIGRATE. For preemptible instances, the default and only possible behavior is TERMINATE. For more information, see Setting Instance Scheduling Options.
     &quot;preemptible&quot;: True or False, # Defines whether the instance is preemptible. This can only be set during instance creation or while the instance is stopped and therefore, in a `TERMINATED` state. See Instance Life Cycle for more information on the possible instance states.
   },
-  &quot;secureTags&quot;: [ # Secure tags to apply to this instance. These can be later modified by the update method. Maximum number of secure tags allowed is 300.
+  &quot;secureTags&quot;: [ # [Input Only] Secure tags to apply to this instance. These can be later modified by the update method. Maximum number of secure tags allowed is 50.
     &quot;A String&quot;,
   ],
   &quot;selfLink&quot;: &quot;A String&quot;, # [Output Only] Server-defined URL for this resource.
@@ -7312,7 +7315,7 @@
 For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.
 
 The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
-  secureTags: string, Secure tags to apply to this instance. Maximum number of secure tags allowed is 300. (repeated)
+  secureTags: string, Secure tags to apply to this instance. Maximum number of secure tags allowed is 50. (repeated)
 
 Returns:
   An object of the form:
diff --git a/docs/dyn/compute_alpha.interconnectAttachments.html b/docs/dyn/compute_alpha.interconnectAttachments.html
index 24d1e03..c148d50 100644
--- a/docs/dyn/compute_alpha.interconnectAttachments.html
+++ b/docs/dyn/compute_alpha.interconnectAttachments.html
@@ -216,6 +216,7 @@
           },
           &quot;region&quot;: &quot;A String&quot;, # [Output Only] URL of the region where the regional interconnect attachment resides. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.
           &quot;router&quot;: &quot;A String&quot;, # URL of the Cloud Router to be used for dynamic routing. This router must be in the same region as this InterconnectAttachment. The InterconnectAttachment will automatically connect the Interconnect to the network &amp; region within which the Cloud Router is configured.
+          &quot;satisfiesPzs&quot;: True or False, # [Output Only] Set to true if the resource satisfies the zone separation organization policy constraints and false otherwise. Defaults to false if the field is not present.
           &quot;selfLink&quot;: &quot;A String&quot;, # [Output Only] Server-defined URL for the resource.
           &quot;selfLinkWithId&quot;: &quot;A String&quot;, # [Output Only] Server-defined URL for this resource with the resource id.
           &quot;stackType&quot;: &quot;A String&quot;, # The stack type for this interconnect attachment to identify whether the IPv6 feature is enabled or not. If not specified, IPV4_ONLY will be used.
@@ -449,6 +450,7 @@
   },
   &quot;region&quot;: &quot;A String&quot;, # [Output Only] URL of the region where the regional interconnect attachment resides. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.
   &quot;router&quot;: &quot;A String&quot;, # URL of the Cloud Router to be used for dynamic routing. This router must be in the same region as this InterconnectAttachment. The InterconnectAttachment will automatically connect the Interconnect to the network &amp; region within which the Cloud Router is configured.
+  &quot;satisfiesPzs&quot;: True or False, # [Output Only] Set to true if the resource satisfies the zone separation organization policy constraints and false otherwise. Defaults to false if the field is not present.
   &quot;selfLink&quot;: &quot;A String&quot;, # [Output Only] Server-defined URL for the resource.
   &quot;selfLinkWithId&quot;: &quot;A String&quot;, # [Output Only] Server-defined URL for this resource with the resource id.
   &quot;stackType&quot;: &quot;A String&quot;, # The stack type for this interconnect attachment to identify whether the IPv6 feature is enabled or not. If not specified, IPV4_ONLY will be used.
@@ -747,6 +749,7 @@
   },
   &quot;region&quot;: &quot;A String&quot;, # [Output Only] URL of the region where the regional interconnect attachment resides. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.
   &quot;router&quot;: &quot;A String&quot;, # URL of the Cloud Router to be used for dynamic routing. This router must be in the same region as this InterconnectAttachment. The InterconnectAttachment will automatically connect the Interconnect to the network &amp; region within which the Cloud Router is configured.
+  &quot;satisfiesPzs&quot;: True or False, # [Output Only] Set to true if the resource satisfies the zone separation organization policy constraints and false otherwise. Defaults to false if the field is not present.
   &quot;selfLink&quot;: &quot;A String&quot;, # [Output Only] Server-defined URL for the resource.
   &quot;selfLinkWithId&quot;: &quot;A String&quot;, # [Output Only] Server-defined URL for this resource with the resource id.
   &quot;stackType&quot;: &quot;A String&quot;, # The stack type for this interconnect attachment to identify whether the IPv6 feature is enabled or not. If not specified, IPV4_ONLY will be used.
@@ -938,6 +941,7 @@
       },
       &quot;region&quot;: &quot;A String&quot;, # [Output Only] URL of the region where the regional interconnect attachment resides. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.
       &quot;router&quot;: &quot;A String&quot;, # URL of the Cloud Router to be used for dynamic routing. This router must be in the same region as this InterconnectAttachment. The InterconnectAttachment will automatically connect the Interconnect to the network &amp; region within which the Cloud Router is configured.
+      &quot;satisfiesPzs&quot;: True or False, # [Output Only] Set to true if the resource satisfies the zone separation organization policy constraints and false otherwise. Defaults to false if the field is not present.
       &quot;selfLink&quot;: &quot;A String&quot;, # [Output Only] Server-defined URL for the resource.
       &quot;selfLinkWithId&quot;: &quot;A String&quot;, # [Output Only] Server-defined URL for this resource with the resource id.
       &quot;stackType&quot;: &quot;A String&quot;, # The stack type for this interconnect attachment to identify whether the IPv6 feature is enabled or not. If not specified, IPV4_ONLY will be used.
@@ -1070,6 +1074,7 @@
   },
   &quot;region&quot;: &quot;A String&quot;, # [Output Only] URL of the region where the regional interconnect attachment resides. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.
   &quot;router&quot;: &quot;A String&quot;, # URL of the Cloud Router to be used for dynamic routing. This router must be in the same region as this InterconnectAttachment. The InterconnectAttachment will automatically connect the Interconnect to the network &amp; region within which the Cloud Router is configured.
+  &quot;satisfiesPzs&quot;: True or False, # [Output Only] Set to true if the resource satisfies the zone separation organization policy constraints and false otherwise. Defaults to false if the field is not present.
   &quot;selfLink&quot;: &quot;A String&quot;, # [Output Only] Server-defined URL for the resource.
   &quot;selfLinkWithId&quot;: &quot;A String&quot;, # [Output Only] Server-defined URL for this resource with the resource id.
   &quot;stackType&quot;: &quot;A String&quot;, # The stack type for this interconnect attachment to identify whether the IPv6 feature is enabled or not. If not specified, IPV4_ONLY will be used.
diff --git a/docs/dyn/compute_alpha.interconnectLocations.html b/docs/dyn/compute_alpha.interconnectLocations.html
index d071c60..3fcaf8e 100644
--- a/docs/dyn/compute_alpha.interconnectLocations.html
+++ b/docs/dyn/compute_alpha.interconnectLocations.html
@@ -138,6 +138,7 @@
   &quot;status&quot;: &quot;A String&quot;, # [Output Only] The status of this InterconnectLocation, which can take one of the following values:
       # - CLOSED: The InterconnectLocation is closed and is unavailable for provisioning new Interconnects.
       # - AVAILABLE: The InterconnectLocation is available for provisioning new Interconnects.
+  &quot;supportsPzs&quot;: True or False, # [Output Only] Set to true for locations that support physical zone separation. Defaults to false if the field is not present.
 }</pre>
 </div>
 
@@ -201,6 +202,7 @@
       &quot;status&quot;: &quot;A String&quot;, # [Output Only] The status of this InterconnectLocation, which can take one of the following values:
           # - CLOSED: The InterconnectLocation is closed and is unavailable for provisioning new Interconnects.
           # - AVAILABLE: The InterconnectLocation is available for provisioning new Interconnects.
+      &quot;supportsPzs&quot;: True or False, # [Output Only] Set to true for locations that support physical zone separation. Defaults to false if the field is not present.
     },
   ],
   &quot;kind&quot;: &quot;compute#interconnectLocationList&quot;, # [Output Only] Type of resource. Always compute#interconnectLocationList for lists of interconnect locations.
diff --git a/docs/dyn/compute_alpha.interconnects.html b/docs/dyn/compute_alpha.interconnects.html
index 4093ea0..467b81e 100644
--- a/docs/dyn/compute_alpha.interconnects.html
+++ b/docs/dyn/compute_alpha.interconnects.html
@@ -267,6 +267,7 @@
   &quot;peerIpAddress&quot;: &quot;A String&quot;, # [Output Only] IP address configured on the customer side of the Interconnect link. The customer should configure this IP address during turnup when prompted by Google NOC. This can be used only for ping tests.
   &quot;provisionedLinkCount&quot;: 42, # [Output Only] Number of links actually provisioned in this interconnect.
   &quot;requestedLinkCount&quot;: 42, # Target number of physical links in the link bundle, as requested by the customer.
+  &quot;satisfiesPzs&quot;: True or False, # [Output Only] Set to true if the resource satisfies the zone separation organization policy constraints and false otherwise. Defaults to false if the field is not present.
   &quot;selfLink&quot;: &quot;A String&quot;, # [Output Only] Server-defined URL for the resource.
   &quot;selfLinkWithId&quot;: &quot;A String&quot;, # [Output Only] Server-defined URL for this resource with the resource id.
   &quot;state&quot;: &quot;A String&quot;, # [Output Only] The current state of Interconnect functionality, which can take one of the following values:
@@ -604,6 +605,7 @@
   &quot;peerIpAddress&quot;: &quot;A String&quot;, # [Output Only] IP address configured on the customer side of the Interconnect link. The customer should configure this IP address during turnup when prompted by Google NOC. This can be used only for ping tests.
   &quot;provisionedLinkCount&quot;: 42, # [Output Only] Number of links actually provisioned in this interconnect.
   &quot;requestedLinkCount&quot;: 42, # Target number of physical links in the link bundle, as requested by the customer.
+  &quot;satisfiesPzs&quot;: True or False, # [Output Only] Set to true if the resource satisfies the zone separation organization policy constraints and false otherwise. Defaults to false if the field is not present.
   &quot;selfLink&quot;: &quot;A String&quot;, # [Output Only] Server-defined URL for the resource.
   &quot;selfLinkWithId&quot;: &quot;A String&quot;, # [Output Only] Server-defined URL for this resource with the resource id.
   &quot;state&quot;: &quot;A String&quot;, # [Output Only] The current state of Interconnect functionality, which can take one of the following values:
@@ -773,6 +775,7 @@
       &quot;peerIpAddress&quot;: &quot;A String&quot;, # [Output Only] IP address configured on the customer side of the Interconnect link. The customer should configure this IP address during turnup when prompted by Google NOC. This can be used only for ping tests.
       &quot;provisionedLinkCount&quot;: 42, # [Output Only] Number of links actually provisioned in this interconnect.
       &quot;requestedLinkCount&quot;: 42, # Target number of physical links in the link bundle, as requested by the customer.
+      &quot;satisfiesPzs&quot;: True or False, # [Output Only] Set to true if the resource satisfies the zone separation organization policy constraints and false otherwise. Defaults to false if the field is not present.
       &quot;selfLink&quot;: &quot;A String&quot;, # [Output Only] Server-defined URL for the resource.
       &quot;selfLinkWithId&quot;: &quot;A String&quot;, # [Output Only] Server-defined URL for this resource with the resource id.
       &quot;state&quot;: &quot;A String&quot;, # [Output Only] The current state of Interconnect functionality, which can take one of the following values:
@@ -884,6 +887,7 @@
   &quot;peerIpAddress&quot;: &quot;A String&quot;, # [Output Only] IP address configured on the customer side of the Interconnect link. The customer should configure this IP address during turnup when prompted by Google NOC. This can be used only for ping tests.
   &quot;provisionedLinkCount&quot;: 42, # [Output Only] Number of links actually provisioned in this interconnect.
   &quot;requestedLinkCount&quot;: 42, # Target number of physical links in the link bundle, as requested by the customer.
+  &quot;satisfiesPzs&quot;: True or False, # [Output Only] Set to true if the resource satisfies the zone separation organization policy constraints and false otherwise. Defaults to false if the field is not present.
   &quot;selfLink&quot;: &quot;A String&quot;, # [Output Only] Server-defined URL for the resource.
   &quot;selfLinkWithId&quot;: &quot;A String&quot;, # [Output Only] Server-defined URL for this resource with the resource id.
   &quot;state&quot;: &quot;A String&quot;, # [Output Only] The current state of Interconnect functionality, which can take one of the following values:
diff --git a/docs/dyn/compute_alpha.machineImages.html b/docs/dyn/compute_alpha.machineImages.html
index e13cb4f..df8d76d 100644
--- a/docs/dyn/compute_alpha.machineImages.html
+++ b/docs/dyn/compute_alpha.machineImages.html
@@ -394,7 +394,7 @@
       },
     ],
     &quot;postKeyRevocationActionType&quot;: &quot;A String&quot;, # PostKeyRevocationActionType of the instance.
-    &quot;scheduling&quot;: { # Sets the scheduling options for an Instance. NextID: 20 # Specifies the scheduling options for the instances that are created from this machine image.
+    &quot;scheduling&quot;: { # Sets the scheduling options for an Instance. NextID: 21 # Specifies the scheduling options for the instances that are created from this machine image.
       &quot;automaticRestart&quot;: True or False, # Specifies whether the instance should be automatically restarted if it is terminated by Compute Engine (not terminated by a user). You can only set the automatic restart option for standard instances. Preemptible instances cannot be automatically restarted.
           #
           # By default, this is set to true so an instance is automatically restarted if it is terminated by Compute Engine.
@@ -844,7 +844,7 @@
       },
     ],
     &quot;postKeyRevocationActionType&quot;: &quot;A String&quot;, # PostKeyRevocationActionType of the instance.
-    &quot;scheduling&quot;: { # Sets the scheduling options for an Instance. NextID: 20 # Specifies the scheduling options for the instances that are created from this machine image.
+    &quot;scheduling&quot;: { # Sets the scheduling options for an Instance. NextID: 21 # Specifies the scheduling options for the instances that are created from this machine image.
       &quot;automaticRestart&quot;: True or False, # Specifies whether the instance should be automatically restarted if it is terminated by Compute Engine (not terminated by a user). You can only set the automatic restart option for standard instances. Preemptible instances cannot be automatically restarted.
           #
           # By default, this is set to true so an instance is automatically restarted if it is terminated by Compute Engine.
@@ -1188,7 +1188,7 @@
           },
         ],
         &quot;postKeyRevocationActionType&quot;: &quot;A String&quot;, # PostKeyRevocationActionType of the instance.
-        &quot;scheduling&quot;: { # Sets the scheduling options for an Instance. NextID: 20 # Specifies the scheduling options for the instances that are created from this machine image.
+        &quot;scheduling&quot;: { # Sets the scheduling options for an Instance. NextID: 21 # Specifies the scheduling options for the instances that are created from this machine image.
           &quot;automaticRestart&quot;: True or False, # Specifies whether the instance should be automatically restarted if it is terminated by Compute Engine (not terminated by a user). You can only set the automatic restart option for standard instances. Preemptible instances cannot be automatically restarted.
               #
               # By default, this is set to true so an instance is automatically restarted if it is terminated by Compute Engine.
diff --git a/docs/dyn/compute_alpha.networkEdgeSecurityServices.html b/docs/dyn/compute_alpha.networkEdgeSecurityServices.html
new file mode 100644
index 0000000..b2e68dc
--- /dev/null
+++ b/docs/dyn/compute_alpha.networkEdgeSecurityServices.html
@@ -0,0 +1,500 @@
+<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="compute_alpha.html">Compute Engine API</a> . <a href="compute_alpha.networkEdgeSecurityServices.html">networkEdgeSecurityServices</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#aggregatedList">aggregatedList(project, filter=None, includeAllScopes=None, maxResults=None, orderBy=None, pageToken=None, returnPartialSuccess=None)</a></code></p>
+<p class="firstline">Retrieves the list of all NetworkEdgeSecurityService resources available to the specified project.</p>
+<p class="toc_element">
+  <code><a href="#aggregatedList_next">aggregatedList_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="#close">close()</a></code></p>
+<p class="firstline">Close httplib2 connections.</p>
+<p class="toc_element">
+  <code><a href="#delete">delete(project, region, networkEdgeSecurityService, requestId=None)</a></code></p>
+<p class="firstline">Deletes the specified service.</p>
+<p class="toc_element">
+  <code><a href="#get">get(project, region, networkEdgeSecurityService)</a></code></p>
+<p class="firstline">Gets a specified NetworkEdgeSecurityService.</p>
+<p class="toc_element">
+  <code><a href="#insert">insert(project, region, body=None, requestId=None, validateOnly=None)</a></code></p>
+<p class="firstline">Creates a new service in the specified project using the data included in the request.</p>
+<p class="toc_element">
+  <code><a href="#patch">patch(project, region, networkEdgeSecurityService, body=None, paths=None, requestId=None)</a></code></p>
+<p class="firstline">Patches the specified policy with the data included in the request.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="aggregatedList">aggregatedList(project, filter=None, includeAllScopes=None, maxResults=None, orderBy=None, pageToken=None, returnPartialSuccess=None)</code>
+  <pre>Retrieves the list of all NetworkEdgeSecurityService resources available to the specified project.
+
+Args:
+  project: string, Name of the project scoping this request. (required)
+  filter: string, A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `&gt;`, or `&lt;`.
+
+For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.
+
+You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels.
+
+To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = &quot;Intel Skylake&quot;) ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = &quot;Intel Skylake&quot;) OR (cpuPlatform = &quot;Intel Broadwell&quot;) AND (scheduling.automaticRestart = true) ```
+  includeAllScopes: boolean, Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.
+  maxResults: integer, The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)
+  orderBy: string, Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.
+
+You can also sort results in descending order based on the creation timestamp using `orderBy=&quot;creationTimestamp desc&quot;`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first.
+
+Currently, only sorting by `name` or `creationTimestamp desc` is supported.
+  pageToken: string, Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.
+  returnPartialSuccess: boolean, Opt-in for partial success behavior which provides partial results in case of failure. The default value is false.
+
+Returns:
+  An object of the form:
+
+    {
+  &quot;etag&quot;: &quot;A String&quot;,
+  &quot;id&quot;: &quot;A String&quot;, # [Output Only] Unique identifier for the resource; defined by the server.
+  &quot;items&quot;: { # A list of NetworkEdgeSecurityServicesScopedList resources.
+    &quot;a_key&quot;: { # Name of the scope containing this set of security policies.
+      &quot;networkEdgeSecurityServices&quot;: [ # A list of NetworkEdgeSecurityServices contained in this scope.
+        { # Represents a Google Cloud Armor network edge security service resource. (== resource_for {$api_version}.networkEdgeSecurityServices ==)
+          &quot;creationTimestamp&quot;: &quot;A String&quot;, # [Output Only] Creation timestamp in RFC3339 text format.
+          &quot;description&quot;: &quot;A String&quot;, # An optional description of this resource. Provide this property when you create the resource.
+          &quot;fingerprint&quot;: &quot;A String&quot;, # Fingerprint of this resource. A hash of the contents stored in this object. This field is used in optimistic locking. This field will be ignored when inserting a NetworkEdgeSecurityService. An up-to-date fingerprint must be provided in order to update the NetworkEdgeSecurityService, otherwise the request will fail with error 412 conditionNotMet.
+              #
+              # To see the latest fingerprint, make a get() request to retrieve a NetworkEdgeSecurityService.
+          &quot;id&quot;: &quot;A String&quot;, # [Output Only] The unique identifier for the resource. This identifier is defined by the server.
+          &quot;kind&quot;: &quot;compute#networkEdgeSecurityService&quot;, # [Output only] Type of the resource. Always compute#networkEdgeSecurityServicefor NetworkEdgeSecurityServices
+          &quot;name&quot;: &quot;A String&quot;, # Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
+          &quot;region&quot;: &quot;A String&quot;, # [Output Only] URL of the region where the resource resides. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.
+          &quot;securityPolicy&quot;: &quot;A String&quot;, # The resource URL for the network edge security service associated with this network edge security service.
+          &quot;selfLink&quot;: &quot;A String&quot;, # [Output Only] Server-defined URL for the resource.
+          &quot;selfLinkWithId&quot;: &quot;A String&quot;, # [Output Only] Server-defined URL for this resource with the resource id.
+        },
+      ],
+      &quot;warning&quot;: { # Informational warning which replaces the list of security policies when the list is empty.
+        &quot;code&quot;: &quot;A String&quot;, # [Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.
+        &quot;data&quot;: [ # [Output Only] Metadata about this warning in key: value format. For example:
+            # &quot;data&quot;: [ { &quot;key&quot;: &quot;scope&quot;, &quot;value&quot;: &quot;zones/us-east1-d&quot; }
+          {
+            &quot;key&quot;: &quot;A String&quot;, # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).
+            &quot;value&quot;: &quot;A String&quot;, # [Output Only] A warning data value corresponding to the key.
+          },
+        ],
+        &quot;message&quot;: &quot;A String&quot;, # [Output Only] A human-readable description of the warning code.
+      },
+    },
+  },
+  &quot;kind&quot;: &quot;compute#networkEdgeSecurityServiceAggregatedList&quot;, # [Output Only] Type of resource. Always compute#networkEdgeSecurityServiceAggregatedList for lists of Network Edge Security Services.
+  &quot;nextPageToken&quot;: &quot;A String&quot;, # [Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.
+  &quot;selfLink&quot;: &quot;A String&quot;, # [Output Only] Server-defined URL for this resource.
+  &quot;unreachables&quot;: [ # [Output Only] Unreachable resources.
+    &quot;A String&quot;,
+  ],
+  &quot;warning&quot;: { # [Output Only] Informational warning message.
+    &quot;code&quot;: &quot;A String&quot;, # [Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.
+    &quot;data&quot;: [ # [Output Only] Metadata about this warning in key: value format. For example:
+        # &quot;data&quot;: [ { &quot;key&quot;: &quot;scope&quot;, &quot;value&quot;: &quot;zones/us-east1-d&quot; }
+      {
+        &quot;key&quot;: &quot;A String&quot;, # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).
+        &quot;value&quot;: &quot;A String&quot;, # [Output Only] A warning data value corresponding to the key.
+      },
+    ],
+    &quot;message&quot;: &quot;A String&quot;, # [Output Only] A human-readable description of the warning code.
+  },
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="aggregatedList_next">aggregatedList_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="close">close()</code>
+  <pre>Close httplib2 connections.</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="delete">delete(project, region, networkEdgeSecurityService, requestId=None)</code>
+  <pre>Deletes the specified service.
+
+Args:
+  project: string, Project ID for this request. (required)
+  region: string, Name of the region scoping this request. (required)
+  networkEdgeSecurityService: string, Name of the network edge security service to delete. (required)
+  requestId: string, An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.
+
+For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.
+
+The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
+
+Returns:
+  An object of the form:
+
+    { # Represents an Operation resource.
+    #
+    # Google Compute Engine has three Operation resources:
+    #
+    # * [Global](/compute/docs/reference/rest/{$api_version}/globalOperations) * [Regional](/compute/docs/reference/rest/{$api_version}/regionOperations) * [Zonal](/compute/docs/reference/rest/{$api_version}/zoneOperations)
+    #
+    # You can use an operation resource to manage asynchronous API requests. For more information, read Handling API responses.
+    #
+    # Operations can be global, regional or zonal.
+    # - For global operations, use the `globalOperations` resource.
+    # - For regional operations, use the `regionOperations` resource.
+    # - For zonal operations, use the `zonalOperations` resource.
+    #
+    # For more information, read  Global, Regional, and Zonal Resources. (== resource_for {$api_version}.globalOperations ==) (== resource_for {$api_version}.regionOperations ==) (== resource_for {$api_version}.zoneOperations ==)
+  &quot;clientOperationId&quot;: &quot;A String&quot;, # [Output Only] The value of `requestId` if you provided it in the request. Not present otherwise.
+  &quot;creationTimestamp&quot;: &quot;A String&quot;, # [Deprecated] This field is deprecated.
+  &quot;description&quot;: &quot;A String&quot;, # [Output Only] A textual description of the operation, which is set when the operation is created.
+  &quot;endTime&quot;: &quot;A String&quot;, # [Output Only] The time that this operation was completed. This value is in RFC3339 text format.
+  &quot;error&quot;: { # [Output Only] If errors are generated during processing of the operation, this field will be populated.
+    &quot;errors&quot;: [ # [Output Only] The array of errors encountered while processing this operation.
+      {
+        &quot;code&quot;: &quot;A String&quot;, # [Output Only] The error type identifier for this error.
+        &quot;location&quot;: &quot;A String&quot;, # [Output Only] Indicates the field in the request that caused the error. This property is optional.
+        &quot;message&quot;: &quot;A String&quot;, # [Output Only] An optional, human-readable error message.
+      },
+    ],
+  },
+  &quot;httpErrorMessage&quot;: &quot;A String&quot;, # [Output Only] If the operation fails, this field contains the HTTP error message that was returned, such as `NOT FOUND`.
+  &quot;httpErrorStatusCode&quot;: 42, # [Output Only] If the operation fails, this field contains the HTTP error status code that was returned. For example, a `404` means the resource was not found.
+  &quot;id&quot;: &quot;A String&quot;, # [Output Only] The unique identifier for the operation. This identifier is defined by the server.
+  &quot;insertTime&quot;: &quot;A String&quot;, # [Output Only] The time that this operation was requested. This value is in RFC3339 text format.
+  &quot;kind&quot;: &quot;compute#operation&quot;, # [Output Only] Type of the resource. Always `compute#operation` for Operation resources.
+  &quot;name&quot;: &quot;A String&quot;, # [Output Only] Name of the operation.
+  &quot;operationGroupId&quot;: &quot;A String&quot;, # [Output Only] An ID that represents a group of operations, such as when a group of operations results from a `bulkInsert` API request.
+  &quot;operationType&quot;: &quot;A String&quot;, # [Output Only] The type of operation, such as `insert`, `update`, or `delete`, and so on.
+  &quot;progress&quot;: 42, # [Output Only] An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess when the operation will be complete. This number should monotonically increase as the operation progresses.
+  &quot;region&quot;: &quot;A String&quot;, # [Output Only] The URL of the region where the operation resides. Only applicable when performing regional operations.
+  &quot;selfLink&quot;: &quot;A String&quot;, # [Output Only] Server-defined URL for the resource.
+  &quot;selfLinkWithId&quot;: &quot;A String&quot;, # [Output Only] Server-defined URL for this resource with the resource id.
+  &quot;startTime&quot;: &quot;A String&quot;, # [Output Only] The time that this operation was started by the server. This value is in RFC3339 text format.
+  &quot;status&quot;: &quot;A String&quot;, # [Output Only] The status of the operation, which can be one of the following: `PENDING`, `RUNNING`, or `DONE`.
+  &quot;statusMessage&quot;: &quot;A String&quot;, # [Output Only] An optional textual description of the current status of the operation.
+  &quot;targetId&quot;: &quot;A String&quot;, # [Output Only] The unique target ID, which identifies a specific incarnation of the target resource.
+  &quot;targetLink&quot;: &quot;A String&quot;, # [Output Only] The URL of the resource that the operation modifies. For operations related to creating a snapshot, this points to the persistent disk that the snapshot was created from.
+  &quot;user&quot;: &quot;A String&quot;, # [Output Only] User who requested the operation, for example: `user@example.com`.
+  &quot;warnings&quot;: [ # [Output Only] If warning messages are generated during processing of the operation, this field will be populated.
+    {
+      &quot;code&quot;: &quot;A String&quot;, # [Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.
+      &quot;data&quot;: [ # [Output Only] Metadata about this warning in key: value format. For example:
+          # &quot;data&quot;: [ { &quot;key&quot;: &quot;scope&quot;, &quot;value&quot;: &quot;zones/us-east1-d&quot; }
+        {
+          &quot;key&quot;: &quot;A String&quot;, # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).
+          &quot;value&quot;: &quot;A String&quot;, # [Output Only] A warning data value corresponding to the key.
+        },
+      ],
+      &quot;message&quot;: &quot;A String&quot;, # [Output Only] A human-readable description of the warning code.
+    },
+  ],
+  &quot;zone&quot;: &quot;A String&quot;, # [Output Only] The URL of the zone where the operation resides. Only applicable when performing per-zone operations.
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(project, region, networkEdgeSecurityService)</code>
+  <pre>Gets a specified NetworkEdgeSecurityService.
+
+Args:
+  project: string, Project ID for this request. (required)
+  region: string, Name of the region scoping this request. (required)
+  networkEdgeSecurityService: string, Name of the network edge security service to get. (required)
+
+Returns:
+  An object of the form:
+
+    { # Represents a Google Cloud Armor network edge security service resource. (== resource_for {$api_version}.networkEdgeSecurityServices ==)
+  &quot;creationTimestamp&quot;: &quot;A String&quot;, # [Output Only] Creation timestamp in RFC3339 text format.
+  &quot;description&quot;: &quot;A String&quot;, # An optional description of this resource. Provide this property when you create the resource.
+  &quot;fingerprint&quot;: &quot;A String&quot;, # Fingerprint of this resource. A hash of the contents stored in this object. This field is used in optimistic locking. This field will be ignored when inserting a NetworkEdgeSecurityService. An up-to-date fingerprint must be provided in order to update the NetworkEdgeSecurityService, otherwise the request will fail with error 412 conditionNotMet.
+      #
+      # To see the latest fingerprint, make a get() request to retrieve a NetworkEdgeSecurityService.
+  &quot;id&quot;: &quot;A String&quot;, # [Output Only] The unique identifier for the resource. This identifier is defined by the server.
+  &quot;kind&quot;: &quot;compute#networkEdgeSecurityService&quot;, # [Output only] Type of the resource. Always compute#networkEdgeSecurityServicefor NetworkEdgeSecurityServices
+  &quot;name&quot;: &quot;A String&quot;, # Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
+  &quot;region&quot;: &quot;A String&quot;, # [Output Only] URL of the region where the resource resides. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.
+  &quot;securityPolicy&quot;: &quot;A String&quot;, # The resource URL for the network edge security service associated with this network edge security service.
+  &quot;selfLink&quot;: &quot;A String&quot;, # [Output Only] Server-defined URL for the resource.
+  &quot;selfLinkWithId&quot;: &quot;A String&quot;, # [Output Only] Server-defined URL for this resource with the resource id.
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="insert">insert(project, region, body=None, requestId=None, validateOnly=None)</code>
+  <pre>Creates a new service in the specified project using the data included in the request.
+
+Args:
+  project: string, Project ID for this request. (required)
+  region: string, Name of the region scoping this request. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Represents a Google Cloud Armor network edge security service resource. (== resource_for {$api_version}.networkEdgeSecurityServices ==)
+  &quot;creationTimestamp&quot;: &quot;A String&quot;, # [Output Only] Creation timestamp in RFC3339 text format.
+  &quot;description&quot;: &quot;A String&quot;, # An optional description of this resource. Provide this property when you create the resource.
+  &quot;fingerprint&quot;: &quot;A String&quot;, # Fingerprint of this resource. A hash of the contents stored in this object. This field is used in optimistic locking. This field will be ignored when inserting a NetworkEdgeSecurityService. An up-to-date fingerprint must be provided in order to update the NetworkEdgeSecurityService, otherwise the request will fail with error 412 conditionNotMet.
+      # 
+      # To see the latest fingerprint, make a get() request to retrieve a NetworkEdgeSecurityService.
+  &quot;id&quot;: &quot;A String&quot;, # [Output Only] The unique identifier for the resource. This identifier is defined by the server.
+  &quot;kind&quot;: &quot;compute#networkEdgeSecurityService&quot;, # [Output only] Type of the resource. Always compute#networkEdgeSecurityServicefor NetworkEdgeSecurityServices
+  &quot;name&quot;: &quot;A String&quot;, # Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
+  &quot;region&quot;: &quot;A String&quot;, # [Output Only] URL of the region where the resource resides. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.
+  &quot;securityPolicy&quot;: &quot;A String&quot;, # The resource URL for the network edge security service associated with this network edge security service.
+  &quot;selfLink&quot;: &quot;A String&quot;, # [Output Only] Server-defined URL for the resource.
+  &quot;selfLinkWithId&quot;: &quot;A String&quot;, # [Output Only] Server-defined URL for this resource with the resource id.
+}
+
+  requestId: string, An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.
+
+For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.
+
+The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
+  validateOnly: boolean, If true, the request will not be committed.
+
+Returns:
+  An object of the form:
+
+    { # Represents an Operation resource.
+    #
+    # Google Compute Engine has three Operation resources:
+    #
+    # * [Global](/compute/docs/reference/rest/{$api_version}/globalOperations) * [Regional](/compute/docs/reference/rest/{$api_version}/regionOperations) * [Zonal](/compute/docs/reference/rest/{$api_version}/zoneOperations)
+    #
+    # You can use an operation resource to manage asynchronous API requests. For more information, read Handling API responses.
+    #
+    # Operations can be global, regional or zonal.
+    # - For global operations, use the `globalOperations` resource.
+    # - For regional operations, use the `regionOperations` resource.
+    # - For zonal operations, use the `zonalOperations` resource.
+    #
+    # For more information, read  Global, Regional, and Zonal Resources. (== resource_for {$api_version}.globalOperations ==) (== resource_for {$api_version}.regionOperations ==) (== resource_for {$api_version}.zoneOperations ==)
+  &quot;clientOperationId&quot;: &quot;A String&quot;, # [Output Only] The value of `requestId` if you provided it in the request. Not present otherwise.
+  &quot;creationTimestamp&quot;: &quot;A String&quot;, # [Deprecated] This field is deprecated.
+  &quot;description&quot;: &quot;A String&quot;, # [Output Only] A textual description of the operation, which is set when the operation is created.
+  &quot;endTime&quot;: &quot;A String&quot;, # [Output Only] The time that this operation was completed. This value is in RFC3339 text format.
+  &quot;error&quot;: { # [Output Only] If errors are generated during processing of the operation, this field will be populated.
+    &quot;errors&quot;: [ # [Output Only] The array of errors encountered while processing this operation.
+      {
+        &quot;code&quot;: &quot;A String&quot;, # [Output Only] The error type identifier for this error.
+        &quot;location&quot;: &quot;A String&quot;, # [Output Only] Indicates the field in the request that caused the error. This property is optional.
+        &quot;message&quot;: &quot;A String&quot;, # [Output Only] An optional, human-readable error message.
+      },
+    ],
+  },
+  &quot;httpErrorMessage&quot;: &quot;A String&quot;, # [Output Only] If the operation fails, this field contains the HTTP error message that was returned, such as `NOT FOUND`.
+  &quot;httpErrorStatusCode&quot;: 42, # [Output Only] If the operation fails, this field contains the HTTP error status code that was returned. For example, a `404` means the resource was not found.
+  &quot;id&quot;: &quot;A String&quot;, # [Output Only] The unique identifier for the operation. This identifier is defined by the server.
+  &quot;insertTime&quot;: &quot;A String&quot;, # [Output Only] The time that this operation was requested. This value is in RFC3339 text format.
+  &quot;kind&quot;: &quot;compute#operation&quot;, # [Output Only] Type of the resource. Always `compute#operation` for Operation resources.
+  &quot;name&quot;: &quot;A String&quot;, # [Output Only] Name of the operation.
+  &quot;operationGroupId&quot;: &quot;A String&quot;, # [Output Only] An ID that represents a group of operations, such as when a group of operations results from a `bulkInsert` API request.
+  &quot;operationType&quot;: &quot;A String&quot;, # [Output Only] The type of operation, such as `insert`, `update`, or `delete`, and so on.
+  &quot;progress&quot;: 42, # [Output Only] An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess when the operation will be complete. This number should monotonically increase as the operation progresses.
+  &quot;region&quot;: &quot;A String&quot;, # [Output Only] The URL of the region where the operation resides. Only applicable when performing regional operations.
+  &quot;selfLink&quot;: &quot;A String&quot;, # [Output Only] Server-defined URL for the resource.
+  &quot;selfLinkWithId&quot;: &quot;A String&quot;, # [Output Only] Server-defined URL for this resource with the resource id.
+  &quot;startTime&quot;: &quot;A String&quot;, # [Output Only] The time that this operation was started by the server. This value is in RFC3339 text format.
+  &quot;status&quot;: &quot;A String&quot;, # [Output Only] The status of the operation, which can be one of the following: `PENDING`, `RUNNING`, or `DONE`.
+  &quot;statusMessage&quot;: &quot;A String&quot;, # [Output Only] An optional textual description of the current status of the operation.
+  &quot;targetId&quot;: &quot;A String&quot;, # [Output Only] The unique target ID, which identifies a specific incarnation of the target resource.
+  &quot;targetLink&quot;: &quot;A String&quot;, # [Output Only] The URL of the resource that the operation modifies. For operations related to creating a snapshot, this points to the persistent disk that the snapshot was created from.
+  &quot;user&quot;: &quot;A String&quot;, # [Output Only] User who requested the operation, for example: `user@example.com`.
+  &quot;warnings&quot;: [ # [Output Only] If warning messages are generated during processing of the operation, this field will be populated.
+    {
+      &quot;code&quot;: &quot;A String&quot;, # [Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.
+      &quot;data&quot;: [ # [Output Only] Metadata about this warning in key: value format. For example:
+          # &quot;data&quot;: [ { &quot;key&quot;: &quot;scope&quot;, &quot;value&quot;: &quot;zones/us-east1-d&quot; }
+        {
+          &quot;key&quot;: &quot;A String&quot;, # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).
+          &quot;value&quot;: &quot;A String&quot;, # [Output Only] A warning data value corresponding to the key.
+        },
+      ],
+      &quot;message&quot;: &quot;A String&quot;, # [Output Only] A human-readable description of the warning code.
+    },
+  ],
+  &quot;zone&quot;: &quot;A String&quot;, # [Output Only] The URL of the zone where the operation resides. Only applicable when performing per-zone operations.
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="patch">patch(project, region, networkEdgeSecurityService, body=None, paths=None, requestId=None)</code>
+  <pre>Patches the specified policy with the data included in the request.
+
+Args:
+  project: string, Project ID for this request. (required)
+  region: string, Name of the region scoping this request. (required)
+  networkEdgeSecurityService: string, Name of the network edge security service to update. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Represents a Google Cloud Armor network edge security service resource. (== resource_for {$api_version}.networkEdgeSecurityServices ==)
+  &quot;creationTimestamp&quot;: &quot;A String&quot;, # [Output Only] Creation timestamp in RFC3339 text format.
+  &quot;description&quot;: &quot;A String&quot;, # An optional description of this resource. Provide this property when you create the resource.
+  &quot;fingerprint&quot;: &quot;A String&quot;, # Fingerprint of this resource. A hash of the contents stored in this object. This field is used in optimistic locking. This field will be ignored when inserting a NetworkEdgeSecurityService. An up-to-date fingerprint must be provided in order to update the NetworkEdgeSecurityService, otherwise the request will fail with error 412 conditionNotMet.
+      # 
+      # To see the latest fingerprint, make a get() request to retrieve a NetworkEdgeSecurityService.
+  &quot;id&quot;: &quot;A String&quot;, # [Output Only] The unique identifier for the resource. This identifier is defined by the server.
+  &quot;kind&quot;: &quot;compute#networkEdgeSecurityService&quot;, # [Output only] Type of the resource. Always compute#networkEdgeSecurityServicefor NetworkEdgeSecurityServices
+  &quot;name&quot;: &quot;A String&quot;, # Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
+  &quot;region&quot;: &quot;A String&quot;, # [Output Only] URL of the region where the resource resides. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.
+  &quot;securityPolicy&quot;: &quot;A String&quot;, # The resource URL for the network edge security service associated with this network edge security service.
+  &quot;selfLink&quot;: &quot;A String&quot;, # [Output Only] Server-defined URL for the resource.
+  &quot;selfLinkWithId&quot;: &quot;A String&quot;, # [Output Only] Server-defined URL for this resource with the resource id.
+}
+
+  paths: string, The set of field mask paths. (repeated)
+  requestId: string, An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.
+
+For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.
+
+The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
+
+Returns:
+  An object of the form:
+
+    { # Represents an Operation resource.
+    #
+    # Google Compute Engine has three Operation resources:
+    #
+    # * [Global](/compute/docs/reference/rest/{$api_version}/globalOperations) * [Regional](/compute/docs/reference/rest/{$api_version}/regionOperations) * [Zonal](/compute/docs/reference/rest/{$api_version}/zoneOperations)
+    #
+    # You can use an operation resource to manage asynchronous API requests. For more information, read Handling API responses.
+    #
+    # Operations can be global, regional or zonal.
+    # - For global operations, use the `globalOperations` resource.
+    # - For regional operations, use the `regionOperations` resource.
+    # - For zonal operations, use the `zonalOperations` resource.
+    #
+    # For more information, read  Global, Regional, and Zonal Resources. (== resource_for {$api_version}.globalOperations ==) (== resource_for {$api_version}.regionOperations ==) (== resource_for {$api_version}.zoneOperations ==)
+  &quot;clientOperationId&quot;: &quot;A String&quot;, # [Output Only] The value of `requestId` if you provided it in the request. Not present otherwise.
+  &quot;creationTimestamp&quot;: &quot;A String&quot;, # [Deprecated] This field is deprecated.
+  &quot;description&quot;: &quot;A String&quot;, # [Output Only] A textual description of the operation, which is set when the operation is created.
+  &quot;endTime&quot;: &quot;A String&quot;, # [Output Only] The time that this operation was completed. This value is in RFC3339 text format.
+  &quot;error&quot;: { # [Output Only] If errors are generated during processing of the operation, this field will be populated.
+    &quot;errors&quot;: [ # [Output Only] The array of errors encountered while processing this operation.
+      {
+        &quot;code&quot;: &quot;A String&quot;, # [Output Only] The error type identifier for this error.
+        &quot;location&quot;: &quot;A String&quot;, # [Output Only] Indicates the field in the request that caused the error. This property is optional.
+        &quot;message&quot;: &quot;A String&quot;, # [Output Only] An optional, human-readable error message.
+      },
+    ],
+  },
+  &quot;httpErrorMessage&quot;: &quot;A String&quot;, # [Output Only] If the operation fails, this field contains the HTTP error message that was returned, such as `NOT FOUND`.
+  &quot;httpErrorStatusCode&quot;: 42, # [Output Only] If the operation fails, this field contains the HTTP error status code that was returned. For example, a `404` means the resource was not found.
+  &quot;id&quot;: &quot;A String&quot;, # [Output Only] The unique identifier for the operation. This identifier is defined by the server.
+  &quot;insertTime&quot;: &quot;A String&quot;, # [Output Only] The time that this operation was requested. This value is in RFC3339 text format.
+  &quot;kind&quot;: &quot;compute#operation&quot;, # [Output Only] Type of the resource. Always `compute#operation` for Operation resources.
+  &quot;name&quot;: &quot;A String&quot;, # [Output Only] Name of the operation.
+  &quot;operationGroupId&quot;: &quot;A String&quot;, # [Output Only] An ID that represents a group of operations, such as when a group of operations results from a `bulkInsert` API request.
+  &quot;operationType&quot;: &quot;A String&quot;, # [Output Only] The type of operation, such as `insert`, `update`, or `delete`, and so on.
+  &quot;progress&quot;: 42, # [Output Only] An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess when the operation will be complete. This number should monotonically increase as the operation progresses.
+  &quot;region&quot;: &quot;A String&quot;, # [Output Only] The URL of the region where the operation resides. Only applicable when performing regional operations.
+  &quot;selfLink&quot;: &quot;A String&quot;, # [Output Only] Server-defined URL for the resource.
+  &quot;selfLinkWithId&quot;: &quot;A String&quot;, # [Output Only] Server-defined URL for this resource with the resource id.
+  &quot;startTime&quot;: &quot;A String&quot;, # [Output Only] The time that this operation was started by the server. This value is in RFC3339 text format.
+  &quot;status&quot;: &quot;A String&quot;, # [Output Only] The status of the operation, which can be one of the following: `PENDING`, `RUNNING`, or `DONE`.
+  &quot;statusMessage&quot;: &quot;A String&quot;, # [Output Only] An optional textual description of the current status of the operation.
+  &quot;targetId&quot;: &quot;A String&quot;, # [Output Only] The unique target ID, which identifies a specific incarnation of the target resource.
+  &quot;targetLink&quot;: &quot;A String&quot;, # [Output Only] The URL of the resource that the operation modifies. For operations related to creating a snapshot, this points to the persistent disk that the snapshot was created from.
+  &quot;user&quot;: &quot;A String&quot;, # [Output Only] User who requested the operation, for example: `user@example.com`.
+  &quot;warnings&quot;: [ # [Output Only] If warning messages are generated during processing of the operation, this field will be populated.
+    {
+      &quot;code&quot;: &quot;A String&quot;, # [Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.
+      &quot;data&quot;: [ # [Output Only] Metadata about this warning in key: value format. For example:
+          # &quot;data&quot;: [ { &quot;key&quot;: &quot;scope&quot;, &quot;value&quot;: &quot;zones/us-east1-d&quot; }
+        {
+          &quot;key&quot;: &quot;A String&quot;, # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).
+          &quot;value&quot;: &quot;A String&quot;, # [Output Only] A warning data value corresponding to the key.
+        },
+      ],
+      &quot;message&quot;: &quot;A String&quot;, # [Output Only] A human-readable description of the warning code.
+    },
+  ],
+  &quot;zone&quot;: &quot;A String&quot;, # [Output Only] The URL of the zone where the operation resides. Only applicable when performing per-zone operations.
+}</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/compute_alpha.organizationSecurityPolicies.html b/docs/dyn/compute_alpha.organizationSecurityPolicies.html
index 8333882..de14ae9 100644
--- a/docs/dyn/compute_alpha.organizationSecurityPolicies.html
+++ b/docs/dyn/compute_alpha.organizationSecurityPolicies.html
@@ -595,6 +595,9 @@
     &quot;enableMl&quot;: True or False, # If set to true, enables Cloud Armor Machine Learning.
   },
   &quot;creationTimestamp&quot;: &quot;A String&quot;, # [Output Only] Creation timestamp in RFC3339 text format.
+  &quot;ddosProtectionConfig&quot;: {
+    &quot;ddosProtection&quot;: &quot;A String&quot;,
+  },
   &quot;description&quot;: &quot;A String&quot;, # An optional description of this resource. Provide this property when you create the resource.
   &quot;displayName&quot;: &quot;A String&quot;, # User-provided name of the Organization security plicy. The name should be unique in the organization in which the security policy is created. This should only be used when SecurityPolicyType is FIREWALL. The name must be 1-63 characters long, and comply with https://www.ietf.org/rfc/rfc1035.txt. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
   &quot;fingerprint&quot;: &quot;A String&quot;, # Specifies a fingerprint for this resource, which is essentially a hash of the metadata&#x27;s contents and used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update metadata. You must always provide an up-to-date fingerprint hash in order to update or change metadata, otherwise the request will fail with error 412 conditionNotMet.
@@ -610,6 +613,7 @@
   },
   &quot;name&quot;: &quot;A String&quot;, # Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
   &quot;parent&quot;: &quot;A String&quot;, # [Output Only] The parent of the security policy.
+  &quot;region&quot;: &quot;A String&quot;, # [Output Only] URL of the region where the regional security policy resides. This field is not applicable to global security policies.
   &quot;ruleTupleCount&quot;: 42, # [Output Only] Total count of all security policy rule tuples. A security policy can not exceed a set number of tuples.
   &quot;rules&quot;: [ # A list of rules that belong to this policy. There must always be a default rule (rule with priority 2147483647 and match &quot;*&quot;). If no rules are provided when creating a security policy, a default rule with action &quot;allow&quot; will be added.
     { # Represents a rule that describes one or more match conditions along with the action to be taken when traffic matches this condition (allow or deny).
@@ -898,6 +902,9 @@
     &quot;enableMl&quot;: True or False, # If set to true, enables Cloud Armor Machine Learning.
   },
   &quot;creationTimestamp&quot;: &quot;A String&quot;, # [Output Only] Creation timestamp in RFC3339 text format.
+  &quot;ddosProtectionConfig&quot;: {
+    &quot;ddosProtection&quot;: &quot;A String&quot;,
+  },
   &quot;description&quot;: &quot;A String&quot;, # An optional description of this resource. Provide this property when you create the resource.
   &quot;displayName&quot;: &quot;A String&quot;, # User-provided name of the Organization security plicy. The name should be unique in the organization in which the security policy is created. This should only be used when SecurityPolicyType is FIREWALL. The name must be 1-63 characters long, and comply with https://www.ietf.org/rfc/rfc1035.txt. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
   &quot;fingerprint&quot;: &quot;A String&quot;, # Specifies a fingerprint for this resource, which is essentially a hash of the metadata&#x27;s contents and used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update metadata. You must always provide an up-to-date fingerprint hash in order to update or change metadata, otherwise the request will fail with error 412 conditionNotMet.
@@ -913,6 +920,7 @@
   },
   &quot;name&quot;: &quot;A String&quot;, # Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
   &quot;parent&quot;: &quot;A String&quot;, # [Output Only] The parent of the security policy.
+  &quot;region&quot;: &quot;A String&quot;, # [Output Only] URL of the region where the regional security policy resides. This field is not applicable to global security policies.
   &quot;ruleTupleCount&quot;: 42, # [Output Only] Total count of all security policy rule tuples. A security policy can not exceed a set number of tuples.
   &quot;rules&quot;: [ # A list of rules that belong to this policy. There must always be a default rule (rule with priority 2147483647 and match &quot;*&quot;). If no rules are provided when creating a security policy, a default rule with action &quot;allow&quot; will be added.
     { # Represents a rule that describes one or more match conditions along with the action to be taken when traffic matches this condition (allow or deny).
@@ -1128,6 +1136,7 @@
   An object of the form:
 
     {
+  &quot;etag&quot;: &quot;A String&quot;,
   &quot;id&quot;: &quot;A String&quot;, # [Output Only] Unique identifier for the resource; defined by the server.
   &quot;items&quot;: [ # A list of SecurityPolicy resources.
     { # Represents a Google Cloud Armor security policy resource.
@@ -1151,6 +1160,9 @@
         &quot;enableMl&quot;: True or False, # If set to true, enables Cloud Armor Machine Learning.
       },
       &quot;creationTimestamp&quot;: &quot;A String&quot;, # [Output Only] Creation timestamp in RFC3339 text format.
+      &quot;ddosProtectionConfig&quot;: {
+        &quot;ddosProtection&quot;: &quot;A String&quot;,
+      },
       &quot;description&quot;: &quot;A String&quot;, # An optional description of this resource. Provide this property when you create the resource.
       &quot;displayName&quot;: &quot;A String&quot;, # User-provided name of the Organization security plicy. The name should be unique in the organization in which the security policy is created. This should only be used when SecurityPolicyType is FIREWALL. The name must be 1-63 characters long, and comply with https://www.ietf.org/rfc/rfc1035.txt. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
       &quot;fingerprint&quot;: &quot;A String&quot;, # Specifies a fingerprint for this resource, which is essentially a hash of the metadata&#x27;s contents and used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update metadata. You must always provide an up-to-date fingerprint hash in order to update or change metadata, otherwise the request will fail with error 412 conditionNotMet.
@@ -1166,6 +1178,7 @@
       },
       &quot;name&quot;: &quot;A String&quot;, # Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
       &quot;parent&quot;: &quot;A String&quot;, # [Output Only] The parent of the security policy.
+      &quot;region&quot;: &quot;A String&quot;, # [Output Only] URL of the region where the regional security policy resides. This field is not applicable to global security policies.
       &quot;ruleTupleCount&quot;: 42, # [Output Only] Total count of all security policy rule tuples. A security policy can not exceed a set number of tuples.
       &quot;rules&quot;: [ # A list of rules that belong to this policy. There must always be a default rule (rule with priority 2147483647 and match &quot;*&quot;). If no rules are provided when creating a security policy, a default rule with action &quot;allow&quot; will be added.
         { # Represents a rule that describes one or more match conditions along with the action to be taken when traffic matches this condition (allow or deny).
@@ -1285,6 +1298,9 @@
   ],
   &quot;kind&quot;: &quot;compute#securityPolicyList&quot;, # [Output Only] Type of resource. Always compute#securityPolicyList for listsof securityPolicies
   &quot;nextPageToken&quot;: &quot;A String&quot;, # [Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.
+  &quot;unreachables&quot;: [ # [Output Only] Unreachable resources.
+    &quot;A String&quot;,
+  ],
   &quot;warning&quot;: { # [Output Only] Informational warning message.
     &quot;code&quot;: &quot;A String&quot;, # [Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.
     &quot;data&quot;: [ # [Output Only] Metadata about this warning in key: value format. For example:
@@ -1444,6 +1460,9 @@
     &quot;enableMl&quot;: True or False, # If set to true, enables Cloud Armor Machine Learning.
   },
   &quot;creationTimestamp&quot;: &quot;A String&quot;, # [Output Only] Creation timestamp in RFC3339 text format.
+  &quot;ddosProtectionConfig&quot;: {
+    &quot;ddosProtection&quot;: &quot;A String&quot;,
+  },
   &quot;description&quot;: &quot;A String&quot;, # An optional description of this resource. Provide this property when you create the resource.
   &quot;displayName&quot;: &quot;A String&quot;, # User-provided name of the Organization security plicy. The name should be unique in the organization in which the security policy is created. This should only be used when SecurityPolicyType is FIREWALL. The name must be 1-63 characters long, and comply with https://www.ietf.org/rfc/rfc1035.txt. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
   &quot;fingerprint&quot;: &quot;A String&quot;, # Specifies a fingerprint for this resource, which is essentially a hash of the metadata&#x27;s contents and used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update metadata. You must always provide an up-to-date fingerprint hash in order to update or change metadata, otherwise the request will fail with error 412 conditionNotMet.
@@ -1459,6 +1478,7 @@
   },
   &quot;name&quot;: &quot;A String&quot;, # Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
   &quot;parent&quot;: &quot;A String&quot;, # [Output Only] The parent of the security policy.
+  &quot;region&quot;: &quot;A String&quot;, # [Output Only] URL of the region where the regional security policy resides. This field is not applicable to global security policies.
   &quot;ruleTupleCount&quot;: 42, # [Output Only] Total count of all security policy rule tuples. A security policy can not exceed a set number of tuples.
   &quot;rules&quot;: [ # A list of rules that belong to this policy. There must always be a default rule (rule with priority 2147483647 and match &quot;*&quot;). If no rules are provided when creating a security policy, a default rule with action &quot;allow&quot; will be added.
     { # Represents a rule that describes one or more match conditions along with the action to be taken when traffic matches this condition (allow or deny).
diff --git a/docs/dyn/compute_alpha.regionBackendServices.html b/docs/dyn/compute_alpha.regionBackendServices.html
index da326a1..4789172 100644
--- a/docs/dyn/compute_alpha.regionBackendServices.html
+++ b/docs/dyn/compute_alpha.regionBackendServices.html
@@ -310,22 +310,16 @@
       &quot;A String&quot;,
     ],
   },
-  &quot;circuitBreakers&quot;: { # Settings controlling the volume of connections to a backend service. # Settings controlling the volume of connections to a backend service. If not set, this feature is considered disabled.
-      #
-      # This field is applicable to either:
-      # - A regional backend service with the service_protocol set to HTTP, HTTPS, or HTTP2, and load_balancing_scheme set to INTERNAL_MANAGED.
-      # - A global backend service with the load_balancing_scheme set to INTERNAL_SELF_MANAGED.
-      #
-      # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
+  &quot;circuitBreakers&quot;: { # Settings controlling the volume of connections to a backend service.
     &quot;connectTimeout&quot;: { # A Duration represents a fixed-length span of time represented as a count of seconds and fractions of seconds at nanosecond resolution. It is independent of any calendar and concepts like &quot;day&quot; or &quot;month&quot;. Range is approximately 10,000 years. # The timeout for new network connections to hosts.
       &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
       &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
     },
-    &quot;maxConnections&quot;: 42, # The maximum number of connections to the backend service. If not specified, there is no limit.
-    &quot;maxPendingRequests&quot;: 42, # The maximum number of pending requests allowed to the backend service. If not specified, there is no limit.
+    &quot;maxConnections&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
+    &quot;maxPendingRequests&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
     &quot;maxRequests&quot;: 42, # The maximum number of parallel requests that allowed to the backend service. If not specified, there is no limit.
-    &quot;maxRequestsPerConnection&quot;: 42, # Maximum requests for a single connection to the backend service. This parameter is respected by both the HTTP/1.1 and HTTP/2 implementations. If not specified, there is no limit. Setting this parameter to 1 will effectively disable keep alive.
-    &quot;maxRetries&quot;: 42, # The maximum number of parallel retries allowed to the backend cluster. If not specified, the default is 1.
+    &quot;maxRequestsPerConnection&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
+    &quot;maxRetries&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
   },
   &quot;connectionDraining&quot;: { # Message containing connection draining configuration.
     &quot;drainingTimeoutSec&quot;: 42, # Configures a duration timeout for existing requests on a removed backend instance. For supported load balancers and protocols, as described in Enabling connection draining.
@@ -427,6 +421,7 @@
   },
   &quot;maxStreamDuration&quot;: { # A Duration represents a fixed-length span of time represented as a count of seconds and fractions of seconds at nanosecond resolution. It is independent of any calendar and concepts like &quot;day&quot; or &quot;month&quot;. Range is approximately 10,000 years. # Specifies the default maximum duration (timeout) for streams to this service. Duration is computed from the beginning of the stream until the response has been completely processed, including all retries. A stream that does not complete in this duration is closed.
       # If not specified, there will be no timeout limit, i.e. the maximum duration is infinite.
+      # This value can be overridden in the PathMatcher configuration of the UrlMap that references this backend service.
       # This field is only allowed when the loadBalancingScheme of the backend service is INTERNAL_SELF_MANAGED.
     &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
     &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
@@ -734,7 +729,7 @@
   &quot;subsetting&quot;: { # Subsetting configuration for this BackendService. Currently this is applicable only for Internal TCP/UDP load balancing and Internal HTTP(S) load balancing.
     &quot;policy&quot;: &quot;A String&quot;,
   },
-  &quot;timeoutSec&quot;: 42, # The backend service timeout has a different meaning depending on the type of load balancer. For more information see,  Backend service settings The default is 30 seconds. The full range of timeout values allowed is 1 - 2,147,483,647 seconds.
+  &quot;timeoutSec&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true. Instead, use maxStreamDuration.
 }</pre>
 </div>
 
@@ -899,22 +894,16 @@
       &quot;A String&quot;,
     ],
   },
-  &quot;circuitBreakers&quot;: { # Settings controlling the volume of connections to a backend service. # Settings controlling the volume of connections to a backend service. If not set, this feature is considered disabled.
-      # 
-      # This field is applicable to either:
-      # - A regional backend service with the service_protocol set to HTTP, HTTPS, or HTTP2, and load_balancing_scheme set to INTERNAL_MANAGED.
-      # - A global backend service with the load_balancing_scheme set to INTERNAL_SELF_MANAGED.
-      # 
-      # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
+  &quot;circuitBreakers&quot;: { # Settings controlling the volume of connections to a backend service.
     &quot;connectTimeout&quot;: { # A Duration represents a fixed-length span of time represented as a count of seconds and fractions of seconds at nanosecond resolution. It is independent of any calendar and concepts like &quot;day&quot; or &quot;month&quot;. Range is approximately 10,000 years. # The timeout for new network connections to hosts.
       &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
       &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
     },
-    &quot;maxConnections&quot;: 42, # The maximum number of connections to the backend service. If not specified, there is no limit.
-    &quot;maxPendingRequests&quot;: 42, # The maximum number of pending requests allowed to the backend service. If not specified, there is no limit.
+    &quot;maxConnections&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
+    &quot;maxPendingRequests&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
     &quot;maxRequests&quot;: 42, # The maximum number of parallel requests that allowed to the backend service. If not specified, there is no limit.
-    &quot;maxRequestsPerConnection&quot;: 42, # Maximum requests for a single connection to the backend service. This parameter is respected by both the HTTP/1.1 and HTTP/2 implementations. If not specified, there is no limit. Setting this parameter to 1 will effectively disable keep alive.
-    &quot;maxRetries&quot;: 42, # The maximum number of parallel retries allowed to the backend cluster. If not specified, the default is 1.
+    &quot;maxRequestsPerConnection&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
+    &quot;maxRetries&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
   },
   &quot;connectionDraining&quot;: { # Message containing connection draining configuration.
     &quot;drainingTimeoutSec&quot;: 42, # Configures a duration timeout for existing requests on a removed backend instance. For supported load balancers and protocols, as described in Enabling connection draining.
@@ -1016,6 +1005,7 @@
   },
   &quot;maxStreamDuration&quot;: { # A Duration represents a fixed-length span of time represented as a count of seconds and fractions of seconds at nanosecond resolution. It is independent of any calendar and concepts like &quot;day&quot; or &quot;month&quot;. Range is approximately 10,000 years. # Specifies the default maximum duration (timeout) for streams to this service. Duration is computed from the beginning of the stream until the response has been completely processed, including all retries. A stream that does not complete in this duration is closed.
       # If not specified, there will be no timeout limit, i.e. the maximum duration is infinite.
+      # This value can be overridden in the PathMatcher configuration of the UrlMap that references this backend service.
       # This field is only allowed when the loadBalancingScheme of the backend service is INTERNAL_SELF_MANAGED.
     &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
     &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
@@ -1323,7 +1313,7 @@
   &quot;subsetting&quot;: { # Subsetting configuration for this BackendService. Currently this is applicable only for Internal TCP/UDP load balancing and Internal HTTP(S) load balancing.
     &quot;policy&quot;: &quot;A String&quot;,
   },
-  &quot;timeoutSec&quot;: 42, # The backend service timeout has a different meaning depending on the type of load balancer. For more information see,  Backend service settings The default is 30 seconds. The full range of timeout values allowed is 1 - 2,147,483,647 seconds.
+  &quot;timeoutSec&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true. Instead, use maxStreamDuration.
 }
 
   requestId: string, An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.
@@ -1535,22 +1525,16 @@
           &quot;A String&quot;,
         ],
       },
-      &quot;circuitBreakers&quot;: { # Settings controlling the volume of connections to a backend service. # Settings controlling the volume of connections to a backend service. If not set, this feature is considered disabled.
-          #
-          # This field is applicable to either:
-          # - A regional backend service with the service_protocol set to HTTP, HTTPS, or HTTP2, and load_balancing_scheme set to INTERNAL_MANAGED.
-          # - A global backend service with the load_balancing_scheme set to INTERNAL_SELF_MANAGED.
-          #
-          # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
+      &quot;circuitBreakers&quot;: { # Settings controlling the volume of connections to a backend service.
         &quot;connectTimeout&quot;: { # A Duration represents a fixed-length span of time represented as a count of seconds and fractions of seconds at nanosecond resolution. It is independent of any calendar and concepts like &quot;day&quot; or &quot;month&quot;. Range is approximately 10,000 years. # The timeout for new network connections to hosts.
           &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
           &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
         },
-        &quot;maxConnections&quot;: 42, # The maximum number of connections to the backend service. If not specified, there is no limit.
-        &quot;maxPendingRequests&quot;: 42, # The maximum number of pending requests allowed to the backend service. If not specified, there is no limit.
+        &quot;maxConnections&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
+        &quot;maxPendingRequests&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
         &quot;maxRequests&quot;: 42, # The maximum number of parallel requests that allowed to the backend service. If not specified, there is no limit.
-        &quot;maxRequestsPerConnection&quot;: 42, # Maximum requests for a single connection to the backend service. This parameter is respected by both the HTTP/1.1 and HTTP/2 implementations. If not specified, there is no limit. Setting this parameter to 1 will effectively disable keep alive.
-        &quot;maxRetries&quot;: 42, # The maximum number of parallel retries allowed to the backend cluster. If not specified, the default is 1.
+        &quot;maxRequestsPerConnection&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
+        &quot;maxRetries&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
       },
       &quot;connectionDraining&quot;: { # Message containing connection draining configuration.
         &quot;drainingTimeoutSec&quot;: 42, # Configures a duration timeout for existing requests on a removed backend instance. For supported load balancers and protocols, as described in Enabling connection draining.
@@ -1652,6 +1636,7 @@
       },
       &quot;maxStreamDuration&quot;: { # A Duration represents a fixed-length span of time represented as a count of seconds and fractions of seconds at nanosecond resolution. It is independent of any calendar and concepts like &quot;day&quot; or &quot;month&quot;. Range is approximately 10,000 years. # Specifies the default maximum duration (timeout) for streams to this service. Duration is computed from the beginning of the stream until the response has been completely processed, including all retries. A stream that does not complete in this duration is closed.
           # If not specified, there will be no timeout limit, i.e. the maximum duration is infinite.
+          # This value can be overridden in the PathMatcher configuration of the UrlMap that references this backend service.
           # This field is only allowed when the loadBalancingScheme of the backend service is INTERNAL_SELF_MANAGED.
         &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
         &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
@@ -1959,7 +1944,7 @@
       &quot;subsetting&quot;: { # Subsetting configuration for this BackendService. Currently this is applicable only for Internal TCP/UDP load balancing and Internal HTTP(S) load balancing.
         &quot;policy&quot;: &quot;A String&quot;,
       },
-      &quot;timeoutSec&quot;: 42, # The backend service timeout has a different meaning depending on the type of load balancer. For more information see,  Backend service settings The default is 30 seconds. The full range of timeout values allowed is 1 - 2,147,483,647 seconds.
+      &quot;timeoutSec&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true. Instead, use maxStreamDuration.
     },
   ],
   &quot;kind&quot;: &quot;compute#backendServiceList&quot;, # [Output Only] Type of resource. Always compute#backendServiceList for lists of backend services.
@@ -2113,22 +2098,16 @@
       &quot;A String&quot;,
     ],
   },
-  &quot;circuitBreakers&quot;: { # Settings controlling the volume of connections to a backend service. # Settings controlling the volume of connections to a backend service. If not set, this feature is considered disabled.
-      # 
-      # This field is applicable to either:
-      # - A regional backend service with the service_protocol set to HTTP, HTTPS, or HTTP2, and load_balancing_scheme set to INTERNAL_MANAGED.
-      # - A global backend service with the load_balancing_scheme set to INTERNAL_SELF_MANAGED.
-      # 
-      # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
+  &quot;circuitBreakers&quot;: { # Settings controlling the volume of connections to a backend service.
     &quot;connectTimeout&quot;: { # A Duration represents a fixed-length span of time represented as a count of seconds and fractions of seconds at nanosecond resolution. It is independent of any calendar and concepts like &quot;day&quot; or &quot;month&quot;. Range is approximately 10,000 years. # The timeout for new network connections to hosts.
       &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
       &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
     },
-    &quot;maxConnections&quot;: 42, # The maximum number of connections to the backend service. If not specified, there is no limit.
-    &quot;maxPendingRequests&quot;: 42, # The maximum number of pending requests allowed to the backend service. If not specified, there is no limit.
+    &quot;maxConnections&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
+    &quot;maxPendingRequests&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
     &quot;maxRequests&quot;: 42, # The maximum number of parallel requests that allowed to the backend service. If not specified, there is no limit.
-    &quot;maxRequestsPerConnection&quot;: 42, # Maximum requests for a single connection to the backend service. This parameter is respected by both the HTTP/1.1 and HTTP/2 implementations. If not specified, there is no limit. Setting this parameter to 1 will effectively disable keep alive.
-    &quot;maxRetries&quot;: 42, # The maximum number of parallel retries allowed to the backend cluster. If not specified, the default is 1.
+    &quot;maxRequestsPerConnection&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
+    &quot;maxRetries&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
   },
   &quot;connectionDraining&quot;: { # Message containing connection draining configuration.
     &quot;drainingTimeoutSec&quot;: 42, # Configures a duration timeout for existing requests on a removed backend instance. For supported load balancers and protocols, as described in Enabling connection draining.
@@ -2230,6 +2209,7 @@
   },
   &quot;maxStreamDuration&quot;: { # A Duration represents a fixed-length span of time represented as a count of seconds and fractions of seconds at nanosecond resolution. It is independent of any calendar and concepts like &quot;day&quot; or &quot;month&quot;. Range is approximately 10,000 years. # Specifies the default maximum duration (timeout) for streams to this service. Duration is computed from the beginning of the stream until the response has been completely processed, including all retries. A stream that does not complete in this duration is closed.
       # If not specified, there will be no timeout limit, i.e. the maximum duration is infinite.
+      # This value can be overridden in the PathMatcher configuration of the UrlMap that references this backend service.
       # This field is only allowed when the loadBalancingScheme of the backend service is INTERNAL_SELF_MANAGED.
     &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
     &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
@@ -2537,7 +2517,7 @@
   &quot;subsetting&quot;: { # Subsetting configuration for this BackendService. Currently this is applicable only for Internal TCP/UDP load balancing and Internal HTTP(S) load balancing.
     &quot;policy&quot;: &quot;A String&quot;,
   },
-  &quot;timeoutSec&quot;: 42, # The backend service timeout has a different meaning depending on the type of load balancer. For more information see,  Backend service settings The default is 30 seconds. The full range of timeout values allowed is 1 - 2,147,483,647 seconds.
+  &quot;timeoutSec&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true. Instead, use maxStreamDuration.
 }
 
   requestId: string, An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.
@@ -2759,22 +2739,16 @@
       &quot;A String&quot;,
     ],
   },
-  &quot;circuitBreakers&quot;: { # Settings controlling the volume of connections to a backend service. # Settings controlling the volume of connections to a backend service. If not set, this feature is considered disabled.
-      # 
-      # This field is applicable to either:
-      # - A regional backend service with the service_protocol set to HTTP, HTTPS, or HTTP2, and load_balancing_scheme set to INTERNAL_MANAGED.
-      # - A global backend service with the load_balancing_scheme set to INTERNAL_SELF_MANAGED.
-      # 
-      # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
+  &quot;circuitBreakers&quot;: { # Settings controlling the volume of connections to a backend service.
     &quot;connectTimeout&quot;: { # A Duration represents a fixed-length span of time represented as a count of seconds and fractions of seconds at nanosecond resolution. It is independent of any calendar and concepts like &quot;day&quot; or &quot;month&quot;. Range is approximately 10,000 years. # The timeout for new network connections to hosts.
       &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
       &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
     },
-    &quot;maxConnections&quot;: 42, # The maximum number of connections to the backend service. If not specified, there is no limit.
-    &quot;maxPendingRequests&quot;: 42, # The maximum number of pending requests allowed to the backend service. If not specified, there is no limit.
+    &quot;maxConnections&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
+    &quot;maxPendingRequests&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
     &quot;maxRequests&quot;: 42, # The maximum number of parallel requests that allowed to the backend service. If not specified, there is no limit.
-    &quot;maxRequestsPerConnection&quot;: 42, # Maximum requests for a single connection to the backend service. This parameter is respected by both the HTTP/1.1 and HTTP/2 implementations. If not specified, there is no limit. Setting this parameter to 1 will effectively disable keep alive.
-    &quot;maxRetries&quot;: 42, # The maximum number of parallel retries allowed to the backend cluster. If not specified, the default is 1.
+    &quot;maxRequestsPerConnection&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
+    &quot;maxRetries&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
   },
   &quot;connectionDraining&quot;: { # Message containing connection draining configuration.
     &quot;drainingTimeoutSec&quot;: 42, # Configures a duration timeout for existing requests on a removed backend instance. For supported load balancers and protocols, as described in Enabling connection draining.
@@ -2876,6 +2850,7 @@
   },
   &quot;maxStreamDuration&quot;: { # A Duration represents a fixed-length span of time represented as a count of seconds and fractions of seconds at nanosecond resolution. It is independent of any calendar and concepts like &quot;day&quot; or &quot;month&quot;. Range is approximately 10,000 years. # Specifies the default maximum duration (timeout) for streams to this service. Duration is computed from the beginning of the stream until the response has been completely processed, including all retries. A stream that does not complete in this duration is closed.
       # If not specified, there will be no timeout limit, i.e. the maximum duration is infinite.
+      # This value can be overridden in the PathMatcher configuration of the UrlMap that references this backend service.
       # This field is only allowed when the loadBalancingScheme of the backend service is INTERNAL_SELF_MANAGED.
     &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
     &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
@@ -3183,7 +3158,7 @@
   &quot;subsetting&quot;: { # Subsetting configuration for this BackendService. Currently this is applicable only for Internal TCP/UDP load balancing and Internal HTTP(S) load balancing.
     &quot;policy&quot;: &quot;A String&quot;,
   },
-  &quot;timeoutSec&quot;: 42, # The backend service timeout has a different meaning depending on the type of load balancer. For more information see,  Backend service settings The default is 30 seconds. The full range of timeout values allowed is 1 - 2,147,483,647 seconds.
+  &quot;timeoutSec&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true. Instead, use maxStreamDuration.
 }
 
   requestId: string, An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.
diff --git a/docs/dyn/compute_alpha.regionCommitments.html b/docs/dyn/compute_alpha.regionCommitments.html
index e813d6d..6b2bc8b 100644
--- a/docs/dyn/compute_alpha.regionCommitments.html
+++ b/docs/dyn/compute_alpha.regionCommitments.html
@@ -99,6 +99,9 @@
   <code><a href="#testIamPermissions">testIamPermissions(project, region, resource, body=None)</a></code></p>
 <p class="firstline">Returns permissions that a caller has on the specified resource.</p>
 <p class="toc_element">
+  <code><a href="#update">update(project, region, commitment, body=None, paths=None, requestId=None)</a></code></p>
+<p class="firstline">Updates the specified commitment with the data included in the request. Update is performed only on selected fields included as part of update-mask. Only the following fields can be modified: auto_renew.</p>
+<p class="toc_element">
   <code><a href="#updateReservations">updateReservations(project, region, commitment, body=None, requestId=None)</a></code></p>
 <p class="firstline">Transfers GPUs or local SSDs between reservations within commitments.</p>
 <h3>Method Details</h3>
@@ -136,6 +139,7 @@
         { # Represents a regional Commitment resource.
             #
             # Creating a commitment resource means that you are purchasing a committed use contract with an explicit start and end time. You can create commitments based on vCPUs and memory usage and receive discounted rates. For full details, read Signing Up for Committed Use Discounts. (== resource_for {$api_version}.regionCommitments ==)
+          &quot;autoRenew&quot;: True or False, # Specifies whether to enable automatic renewal for the commitment. The default value is false if not specified. The field can be updated until the day of the commitment expiration at 12:00am PST. If the field is set to true, the commitment will be automatically renewed for either one or three years according to the terms of the existing commitment.
           &quot;category&quot;: &quot;A String&quot;, # The category of the commitment. Category MACHINE specifies commitments composed of machine resources such as VCPU or MEMORY, listed in resources. Category LICENSE specifies commitments composed of software licenses, listed in licenseResources. Note that only MACHINE commitments should have a Type specified.
           &quot;creationTimestamp&quot;: &quot;A String&quot;, # [Output Only] Creation timestamp in RFC3339 text format.
           &quot;description&quot;: &quot;A String&quot;, # An optional description of this resource. Provide this property when you create the resource.
@@ -161,7 +165,7 @@
               &quot;satisfiesPzs&quot;: True or False, # [Output Only] Reserved for future use.
               &quot;selfLink&quot;: &quot;A String&quot;, # [Output Only] Server-defined fully-qualified URL for this resource.
               &quot;selfLinkWithId&quot;: &quot;A String&quot;, # [Output Only] Server-defined URL for this resource with the resource id.
-              &quot;shareSettings&quot;: { # Share-settings for shared-reservation
+              &quot;shareSettings&quot;: { # The share setting for reservations and sole tenancy node groups. # Share-settings for shared-reservation
                 &quot;projects&quot;: [ # A List of Project names to specify consumer projects for this shared-reservation. This is only valid when share_type&#x27;s value is SPECIFIC_PROJECTS.
                   &quot;A String&quot;,
                 ],
@@ -277,6 +281,7 @@
     { # Represents a regional Commitment resource.
     #
     # Creating a commitment resource means that you are purchasing a committed use contract with an explicit start and end time. You can create commitments based on vCPUs and memory usage and receive discounted rates. For full details, read Signing Up for Committed Use Discounts. (== resource_for {$api_version}.regionCommitments ==)
+  &quot;autoRenew&quot;: True or False, # Specifies whether to enable automatic renewal for the commitment. The default value is false if not specified. The field can be updated until the day of the commitment expiration at 12:00am PST. If the field is set to true, the commitment will be automatically renewed for either one or three years according to the terms of the existing commitment.
   &quot;category&quot;: &quot;A String&quot;, # The category of the commitment. Category MACHINE specifies commitments composed of machine resources such as VCPU or MEMORY, listed in resources. Category LICENSE specifies commitments composed of software licenses, listed in licenseResources. Note that only MACHINE commitments should have a Type specified.
   &quot;creationTimestamp&quot;: &quot;A String&quot;, # [Output Only] Creation timestamp in RFC3339 text format.
   &quot;description&quot;: &quot;A String&quot;, # An optional description of this resource. Provide this property when you create the resource.
@@ -302,7 +307,7 @@
       &quot;satisfiesPzs&quot;: True or False, # [Output Only] Reserved for future use.
       &quot;selfLink&quot;: &quot;A String&quot;, # [Output Only] Server-defined fully-qualified URL for this resource.
       &quot;selfLinkWithId&quot;: &quot;A String&quot;, # [Output Only] Server-defined URL for this resource with the resource id.
-      &quot;shareSettings&quot;: { # Share-settings for shared-reservation
+      &quot;shareSettings&quot;: { # The share setting for reservations and sole tenancy node groups. # Share-settings for shared-reservation
         &quot;projects&quot;: [ # A List of Project names to specify consumer projects for this shared-reservation. This is only valid when share_type&#x27;s value is SPECIFIC_PROJECTS.
           &quot;A String&quot;,
         ],
@@ -365,6 +370,7 @@
 { # Represents a regional Commitment resource.
     # 
     # Creating a commitment resource means that you are purchasing a committed use contract with an explicit start and end time. You can create commitments based on vCPUs and memory usage and receive discounted rates. For full details, read Signing Up for Committed Use Discounts. (== resource_for {$api_version}.regionCommitments ==)
+  &quot;autoRenew&quot;: True or False, # Specifies whether to enable automatic renewal for the commitment. The default value is false if not specified. The field can be updated until the day of the commitment expiration at 12:00am PST. If the field is set to true, the commitment will be automatically renewed for either one or three years according to the terms of the existing commitment.
   &quot;category&quot;: &quot;A String&quot;, # The category of the commitment. Category MACHINE specifies commitments composed of machine resources such as VCPU or MEMORY, listed in resources. Category LICENSE specifies commitments composed of software licenses, listed in licenseResources. Note that only MACHINE commitments should have a Type specified.
   &quot;creationTimestamp&quot;: &quot;A String&quot;, # [Output Only] Creation timestamp in RFC3339 text format.
   &quot;description&quot;: &quot;A String&quot;, # An optional description of this resource. Provide this property when you create the resource.
@@ -390,7 +396,7 @@
       &quot;satisfiesPzs&quot;: True or False, # [Output Only] Reserved for future use.
       &quot;selfLink&quot;: &quot;A String&quot;, # [Output Only] Server-defined fully-qualified URL for this resource.
       &quot;selfLinkWithId&quot;: &quot;A String&quot;, # [Output Only] Server-defined URL for this resource with the resource id.
-      &quot;shareSettings&quot;: { # Share-settings for shared-reservation
+      &quot;shareSettings&quot;: { # The share setting for reservations and sole tenancy node groups. # Share-settings for shared-reservation
         &quot;projects&quot;: [ # A List of Project names to specify consumer projects for this shared-reservation. This is only valid when share_type&#x27;s value is SPECIFIC_PROJECTS.
           &quot;A String&quot;,
         ],
@@ -542,6 +548,7 @@
     { # Represents a regional Commitment resource.
         #
         # Creating a commitment resource means that you are purchasing a committed use contract with an explicit start and end time. You can create commitments based on vCPUs and memory usage and receive discounted rates. For full details, read Signing Up for Committed Use Discounts. (== resource_for {$api_version}.regionCommitments ==)
+      &quot;autoRenew&quot;: True or False, # Specifies whether to enable automatic renewal for the commitment. The default value is false if not specified. The field can be updated until the day of the commitment expiration at 12:00am PST. If the field is set to true, the commitment will be automatically renewed for either one or three years according to the terms of the existing commitment.
       &quot;category&quot;: &quot;A String&quot;, # The category of the commitment. Category MACHINE specifies commitments composed of machine resources such as VCPU or MEMORY, listed in resources. Category LICENSE specifies commitments composed of software licenses, listed in licenseResources. Note that only MACHINE commitments should have a Type specified.
       &quot;creationTimestamp&quot;: &quot;A String&quot;, # [Output Only] Creation timestamp in RFC3339 text format.
       &quot;description&quot;: &quot;A String&quot;, # An optional description of this resource. Provide this property when you create the resource.
@@ -567,7 +574,7 @@
           &quot;satisfiesPzs&quot;: True or False, # [Output Only] Reserved for future use.
           &quot;selfLink&quot;: &quot;A String&quot;, # [Output Only] Server-defined fully-qualified URL for this resource.
           &quot;selfLinkWithId&quot;: &quot;A String&quot;, # [Output Only] Server-defined URL for this resource with the resource id.
-          &quot;shareSettings&quot;: { # Share-settings for shared-reservation
+          &quot;shareSettings&quot;: { # The share setting for reservations and sole tenancy node groups. # Share-settings for shared-reservation
             &quot;projects&quot;: [ # A List of Project names to specify consumer projects for this shared-reservation. This is only valid when share_type&#x27;s value is SPECIFIC_PROJECTS.
               &quot;A String&quot;,
             ],
@@ -676,6 +683,167 @@
 </div>
 
 <div class="method">
+    <code class="details" id="update">update(project, region, commitment, body=None, paths=None, requestId=None)</code>
+  <pre>Updates the specified commitment with the data included in the request. Update is performed only on selected fields included as part of update-mask. Only the following fields can be modified: auto_renew.
+
+Args:
+  project: string, Project ID for this request. (required)
+  region: string, Name of the region for this request. (required)
+  commitment: string, Name of the commitment for which auto renew is being updated. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Represents a regional Commitment resource.
+    # 
+    # Creating a commitment resource means that you are purchasing a committed use contract with an explicit start and end time. You can create commitments based on vCPUs and memory usage and receive discounted rates. For full details, read Signing Up for Committed Use Discounts. (== resource_for {$api_version}.regionCommitments ==)
+  &quot;autoRenew&quot;: True or False, # Specifies whether to enable automatic renewal for the commitment. The default value is false if not specified. The field can be updated until the day of the commitment expiration at 12:00am PST. If the field is set to true, the commitment will be automatically renewed for either one or three years according to the terms of the existing commitment.
+  &quot;category&quot;: &quot;A String&quot;, # The category of the commitment. Category MACHINE specifies commitments composed of machine resources such as VCPU or MEMORY, listed in resources. Category LICENSE specifies commitments composed of software licenses, listed in licenseResources. Note that only MACHINE commitments should have a Type specified.
+  &quot;creationTimestamp&quot;: &quot;A String&quot;, # [Output Only] Creation timestamp in RFC3339 text format.
+  &quot;description&quot;: &quot;A String&quot;, # An optional description of this resource. Provide this property when you create the resource.
+  &quot;endTimestamp&quot;: &quot;A String&quot;, # [Output Only] Commitment end time in RFC3339 text format.
+  &quot;id&quot;: &quot;A String&quot;, # [Output Only] The unique identifier for the resource. This identifier is defined by the server.
+  &quot;kind&quot;: &quot;compute#commitment&quot;, # [Output Only] Type of the resource. Always compute#commitment for commitments.
+  &quot;licenseResource&quot;: { # Commitment for a particular license resource. # The license specification required as part of a license commitment.
+    &quot;amount&quot;: &quot;A String&quot;, # The number of licenses purchased.
+    &quot;coresPerLicense&quot;: &quot;A String&quot;, # Specifies the core range of the instance for which this license applies.
+    &quot;license&quot;: &quot;A String&quot;, # Any applicable license URI.
+  },
+  &quot;name&quot;: &quot;A String&quot;, # Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
+  &quot;plan&quot;: &quot;A String&quot;, # The plan for this commitment, which determines duration and discount rate. The currently supported plans are TWELVE_MONTH (1 year), and THIRTY_SIX_MONTH (3 years).
+  &quot;region&quot;: &quot;A String&quot;, # [Output Only] URL of the region where this commitment may be used.
+  &quot;reservations&quot;: [ # List of reservations in this commitment.
+    { # Represents a reservation resource. A reservation ensures that capacity is held in a specific zone even if the reserved VMs are not running. For more information, read  Reserving zonal resources. (== resource_for {$api_version}.reservations ==)
+      &quot;commitment&quot;: &quot;A String&quot;, # [Output Only] Full or partial URL to a parent commitment. This field displays for reservations that are tied to a commitment.
+      &quot;creationTimestamp&quot;: &quot;A String&quot;, # [Output Only] Creation timestamp in RFC3339 text format.
+      &quot;description&quot;: &quot;A String&quot;, # An optional description of this resource. Provide this property when you create the resource.
+      &quot;id&quot;: &quot;A String&quot;, # [Output Only] The unique identifier for the resource. This identifier is defined by the server.
+      &quot;kind&quot;: &quot;compute#reservation&quot;, # [Output Only] Type of the resource. Always compute#reservations for reservations.
+      &quot;name&quot;: &quot;A String&quot;, # The name of the resource, provided by the client when initially creating the resource. The resource name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
+      &quot;satisfiesPzs&quot;: True or False, # [Output Only] Reserved for future use.
+      &quot;selfLink&quot;: &quot;A String&quot;, # [Output Only] Server-defined fully-qualified URL for this resource.
+      &quot;selfLinkWithId&quot;: &quot;A String&quot;, # [Output Only] Server-defined URL for this resource with the resource id.
+      &quot;shareSettings&quot;: { # The share setting for reservations and sole tenancy node groups. # Share-settings for shared-reservation
+        &quot;projects&quot;: [ # A List of Project names to specify consumer projects for this shared-reservation. This is only valid when share_type&#x27;s value is SPECIFIC_PROJECTS.
+          &quot;A String&quot;,
+        ],
+        &quot;shareType&quot;: &quot;A String&quot;, # Type of sharing for this shared-reservation
+      },
+      &quot;specificReservation&quot;: { # This reservation type allows to pre allocate specific instance configuration. # Reservation for instances with specific machine shapes.
+        &quot;count&quot;: &quot;A String&quot;, # Specifies the number of resources that are allocated.
+        &quot;inUseCount&quot;: &quot;A String&quot;, # [Output Only] Indicates how many instances are in use.
+        &quot;instanceProperties&quot;: { # Properties of the SKU instances being reserved. Next ID: 9 # The instance properties for the reservation.
+          &quot;guestAccelerators&quot;: [ # Specifies accelerator type and count.
+            { # A specification of the type and number of accelerator cards attached to the instance.
+              &quot;acceleratorCount&quot;: 42, # The number of the guest accelerator cards exposed to this instance.
+              &quot;acceleratorType&quot;: &quot;A String&quot;, # Full or partial URL of the accelerator type resource to attach to this instance. For example: projects/my-project/zones/us-central1-c/acceleratorTypes/nvidia-tesla-p100 If you are creating an instance template, specify only the accelerator name. See GPUs on Compute Engine for a full list of accelerator types.
+            },
+          ],
+          &quot;localSsds&quot;: [ # Specifies amount of local ssd to reserve with each instance. The type of disk is local-ssd.
+            {
+              &quot;diskSizeGb&quot;: &quot;A String&quot;, # Specifies the size of the disk in base-2 GB.
+              &quot;interface&quot;: &quot;A String&quot;, # Specifies the disk interface to use for attaching this disk, which is either SCSI or NVME. The default is SCSI. For performance characteristics of SCSI over NVMe, see Local SSD performance.
+            },
+          ],
+          &quot;locationHint&quot;: &quot;A String&quot;, # An opaque location hint used to place the allocation close to other resources. This field is for use by internal tools that use the public API.
+          &quot;machineType&quot;: &quot;A String&quot;, # Specifies type of machine (name only) which has fixed number of vCPUs and fixed amount of memory. This also includes specifying custom machine type following custom-NUMBER_OF_CPUS-AMOUNT_OF_MEMORY pattern.
+          &quot;maintenanceFreezeDurationHours&quot;: 42, # Specifies the number of hours after reservation creation where instances using the reservation won&#x27;t be scheduled for maintenance.
+          &quot;maintenanceInterval&quot;: &quot;A String&quot;, # For more information about maintenance intervals, see Setting maintenance intervals.
+          &quot;minCpuPlatform&quot;: &quot;A String&quot;, # Minimum cpu platform the reservation.
+        },
+      },
+      &quot;specificReservationRequired&quot;: True or False, # Indicates whether the reservation can be consumed by VMs with affinity for &quot;any&quot; reservation. If the field is set, then only VMs that target the reservation by name can consume from this reservation.
+      &quot;status&quot;: &quot;A String&quot;, # [Output Only] The status of the reservation.
+      &quot;zone&quot;: &quot;A String&quot;, # Zone in which the reservation resides. A zone must be provided if the reservation is created within a commitment.
+    },
+  ],
+  &quot;resources&quot;: [ # A list of commitment amounts for particular resources. Note that VCPU and MEMORY resource commitments must occur together.
+    { # Commitment for a particular resource (a Commitment is composed of one or more of these).
+      &quot;acceleratorType&quot;: &quot;A String&quot;, # Name of the accelerator type resource. Applicable only when the type is ACCELERATOR.
+      &quot;amount&quot;: &quot;A String&quot;, # The amount of the resource purchased (in a type-dependent unit, such as bytes). For vCPUs, this can just be an integer. For memory, this must be provided in MB. Memory must be a multiple of 256 MB, with up to 6.5GB of memory per every vCPU.
+      &quot;type&quot;: &quot;A String&quot;, # Type of resource for which this commitment applies. Possible values are VCPU and MEMORY
+    },
+  ],
+  &quot;selfLink&quot;: &quot;A String&quot;, # [Output Only] Server-defined URL for the resource.
+  &quot;selfLinkWithId&quot;: &quot;A String&quot;, # [Output Only] Server-defined URL for this resource with the resource id.
+  &quot;startTimestamp&quot;: &quot;A String&quot;, # [Output Only] Commitment start time in RFC3339 text format.
+  &quot;status&quot;: &quot;A String&quot;, # [Output Only] Status of the commitment with regards to eventual expiration (each commitment has an end date defined). One of the following values: NOT_YET_ACTIVE, ACTIVE, EXPIRED.
+  &quot;statusMessage&quot;: &quot;A String&quot;, # [Output Only] An optional, human-readable explanation of the status.
+  &quot;type&quot;: &quot;A String&quot;, # The type of commitment, which affects the discount rate and the eligible resources. Type MEMORY_OPTIMIZED specifies a commitment that will only apply to memory optimized machines. Type ACCELERATOR_OPTIMIZED specifies a commitment that will only apply to accelerator optimized machines.
+}
+
+  paths: string, The set of field mask paths. (repeated)
+  requestId: string, An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.
+
+For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.
+
+The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
+
+Returns:
+  An object of the form:
+
+    { # Represents an Operation resource.
+    #
+    # Google Compute Engine has three Operation resources:
+    #
+    # * [Global](/compute/docs/reference/rest/{$api_version}/globalOperations) * [Regional](/compute/docs/reference/rest/{$api_version}/regionOperations) * [Zonal](/compute/docs/reference/rest/{$api_version}/zoneOperations)
+    #
+    # You can use an operation resource to manage asynchronous API requests. For more information, read Handling API responses.
+    #
+    # Operations can be global, regional or zonal.
+    # - For global operations, use the `globalOperations` resource.
+    # - For regional operations, use the `regionOperations` resource.
+    # - For zonal operations, use the `zonalOperations` resource.
+    #
+    # For more information, read  Global, Regional, and Zonal Resources. (== resource_for {$api_version}.globalOperations ==) (== resource_for {$api_version}.regionOperations ==) (== resource_for {$api_version}.zoneOperations ==)
+  &quot;clientOperationId&quot;: &quot;A String&quot;, # [Output Only] The value of `requestId` if you provided it in the request. Not present otherwise.
+  &quot;creationTimestamp&quot;: &quot;A String&quot;, # [Deprecated] This field is deprecated.
+  &quot;description&quot;: &quot;A String&quot;, # [Output Only] A textual description of the operation, which is set when the operation is created.
+  &quot;endTime&quot;: &quot;A String&quot;, # [Output Only] The time that this operation was completed. This value is in RFC3339 text format.
+  &quot;error&quot;: { # [Output Only] If errors are generated during processing of the operation, this field will be populated.
+    &quot;errors&quot;: [ # [Output Only] The array of errors encountered while processing this operation.
+      {
+        &quot;code&quot;: &quot;A String&quot;, # [Output Only] The error type identifier for this error.
+        &quot;location&quot;: &quot;A String&quot;, # [Output Only] Indicates the field in the request that caused the error. This property is optional.
+        &quot;message&quot;: &quot;A String&quot;, # [Output Only] An optional, human-readable error message.
+      },
+    ],
+  },
+  &quot;httpErrorMessage&quot;: &quot;A String&quot;, # [Output Only] If the operation fails, this field contains the HTTP error message that was returned, such as `NOT FOUND`.
+  &quot;httpErrorStatusCode&quot;: 42, # [Output Only] If the operation fails, this field contains the HTTP error status code that was returned. For example, a `404` means the resource was not found.
+  &quot;id&quot;: &quot;A String&quot;, # [Output Only] The unique identifier for the operation. This identifier is defined by the server.
+  &quot;insertTime&quot;: &quot;A String&quot;, # [Output Only] The time that this operation was requested. This value is in RFC3339 text format.
+  &quot;kind&quot;: &quot;compute#operation&quot;, # [Output Only] Type of the resource. Always `compute#operation` for Operation resources.
+  &quot;name&quot;: &quot;A String&quot;, # [Output Only] Name of the operation.
+  &quot;operationGroupId&quot;: &quot;A String&quot;, # [Output Only] An ID that represents a group of operations, such as when a group of operations results from a `bulkInsert` API request.
+  &quot;operationType&quot;: &quot;A String&quot;, # [Output Only] The type of operation, such as `insert`, `update`, or `delete`, and so on.
+  &quot;progress&quot;: 42, # [Output Only] An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess when the operation will be complete. This number should monotonically increase as the operation progresses.
+  &quot;region&quot;: &quot;A String&quot;, # [Output Only] The URL of the region where the operation resides. Only applicable when performing regional operations.
+  &quot;selfLink&quot;: &quot;A String&quot;, # [Output Only] Server-defined URL for the resource.
+  &quot;selfLinkWithId&quot;: &quot;A String&quot;, # [Output Only] Server-defined URL for this resource with the resource id.
+  &quot;startTime&quot;: &quot;A String&quot;, # [Output Only] The time that this operation was started by the server. This value is in RFC3339 text format.
+  &quot;status&quot;: &quot;A String&quot;, # [Output Only] The status of the operation, which can be one of the following: `PENDING`, `RUNNING`, or `DONE`.
+  &quot;statusMessage&quot;: &quot;A String&quot;, # [Output Only] An optional textual description of the current status of the operation.
+  &quot;targetId&quot;: &quot;A String&quot;, # [Output Only] The unique target ID, which identifies a specific incarnation of the target resource.
+  &quot;targetLink&quot;: &quot;A String&quot;, # [Output Only] The URL of the resource that the operation modifies. For operations related to creating a snapshot, this points to the persistent disk that the snapshot was created from.
+  &quot;user&quot;: &quot;A String&quot;, # [Output Only] User who requested the operation, for example: `user@example.com`.
+  &quot;warnings&quot;: [ # [Output Only] If warning messages are generated during processing of the operation, this field will be populated.
+    {
+      &quot;code&quot;: &quot;A String&quot;, # [Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.
+      &quot;data&quot;: [ # [Output Only] Metadata about this warning in key: value format. For example:
+          # &quot;data&quot;: [ { &quot;key&quot;: &quot;scope&quot;, &quot;value&quot;: &quot;zones/us-east1-d&quot; }
+        {
+          &quot;key&quot;: &quot;A String&quot;, # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).
+          &quot;value&quot;: &quot;A String&quot;, # [Output Only] A warning data value corresponding to the key.
+        },
+      ],
+      &quot;message&quot;: &quot;A String&quot;, # [Output Only] A human-readable description of the warning code.
+    },
+  ],
+  &quot;zone&quot;: &quot;A String&quot;, # [Output Only] The URL of the zone where the operation resides. Only applicable when performing per-zone operations.
+}</pre>
+</div>
+
+<div class="method">
     <code class="details" id="updateReservations">updateReservations(project, region, commitment, body=None, requestId=None)</code>
   <pre>Transfers GPUs or local SSDs between reservations within commitments.
 
@@ -698,7 +866,7 @@
       &quot;satisfiesPzs&quot;: True or False, # [Output Only] Reserved for future use.
       &quot;selfLink&quot;: &quot;A String&quot;, # [Output Only] Server-defined fully-qualified URL for this resource.
       &quot;selfLinkWithId&quot;: &quot;A String&quot;, # [Output Only] Server-defined URL for this resource with the resource id.
-      &quot;shareSettings&quot;: { # Share-settings for shared-reservation
+      &quot;shareSettings&quot;: { # The share setting for reservations and sole tenancy node groups. # Share-settings for shared-reservation
         &quot;projects&quot;: [ # A List of Project names to specify consumer projects for this shared-reservation. This is only valid when share_type&#x27;s value is SPECIFIC_PROJECTS.
           &quot;A String&quot;,
         ],
diff --git a/docs/dyn/compute_alpha.regionHealthCheckServices.html b/docs/dyn/compute_alpha.regionHealthCheckServices.html
index f6e3e71..5f05fac 100644
--- a/docs/dyn/compute_alpha.regionHealthCheckServices.html
+++ b/docs/dyn/compute_alpha.regionHealthCheckServices.html
@@ -142,7 +142,7 @@
           &quot;creationTimestamp&quot;: &quot;A String&quot;, # [Output Only] Creation timestamp in RFC3339 text format.
           &quot;description&quot;: &quot;A String&quot;, # An optional description of this resource. Provide this property when you create the resource.
           &quot;fingerprint&quot;: &quot;A String&quot;, # Fingerprint of this resource. A hash of the contents stored in this object. This field is used in optimistic locking. This field will be ignored when inserting a HealthCheckService. An up-to-date fingerprint must be provided in order to patch/update the HealthCheckService; Otherwise, the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve the HealthCheckService.
-          &quot;healthChecks&quot;: [ # List of URLs to the HealthCheck resources. Must have at least one HealthCheck, and not more than 10. HealthCheck resources must have portSpecification=USE_SERVING_PORT. For regional HealthCheckService, the HealthCheck must be regional and in the same region. For global HealthCheckService, HealthCheck must be global. Mix of regional and global HealthChecks is not supported. Multiple regional HealthChecks must belong to the same region. Regional HealthChecks&lt;/code? must belong to the same region as zones of NEGs.
+          &quot;healthChecks&quot;: [ # List of URLs to the HealthCheck resources. Must have at least one HealthCheck, and not more than 10. HealthCheck resources must have portSpecification=USE_SERVING_PORT or portSpecification=USE_FIXED_PORT. For regional HealthCheckService, the HealthCheck must be regional and in the same region. For global HealthCheckService, HealthCheck must be global. Mix of regional and global HealthChecks is not supported. Multiple regional HealthChecks must belong to the same region. Regional HealthChecks must belong to the same region as zones of NEGs.
             &quot;A String&quot;,
           ],
           &quot;healthStatusAggregationPolicy&quot;: &quot;A String&quot;, # Optional. Policy for how the results from multiple health checks for the same endpoint are aggregated. Defaults to NO_AGGREGATION if unspecified.
@@ -316,7 +316,7 @@
   &quot;creationTimestamp&quot;: &quot;A String&quot;, # [Output Only] Creation timestamp in RFC3339 text format.
   &quot;description&quot;: &quot;A String&quot;, # An optional description of this resource. Provide this property when you create the resource.
   &quot;fingerprint&quot;: &quot;A String&quot;, # Fingerprint of this resource. A hash of the contents stored in this object. This field is used in optimistic locking. This field will be ignored when inserting a HealthCheckService. An up-to-date fingerprint must be provided in order to patch/update the HealthCheckService; Otherwise, the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve the HealthCheckService.
-  &quot;healthChecks&quot;: [ # List of URLs to the HealthCheck resources. Must have at least one HealthCheck, and not more than 10. HealthCheck resources must have portSpecification=USE_SERVING_PORT. For regional HealthCheckService, the HealthCheck must be regional and in the same region. For global HealthCheckService, HealthCheck must be global. Mix of regional and global HealthChecks is not supported. Multiple regional HealthChecks must belong to the same region. Regional HealthChecks&lt;/code? must belong to the same region as zones of NEGs.
+  &quot;healthChecks&quot;: [ # List of URLs to the HealthCheck resources. Must have at least one HealthCheck, and not more than 10. HealthCheck resources must have portSpecification=USE_SERVING_PORT or portSpecification=USE_FIXED_PORT. For regional HealthCheckService, the HealthCheck must be regional and in the same region. For global HealthCheckService, HealthCheck must be global. Mix of regional and global HealthChecks is not supported. Multiple regional HealthChecks must belong to the same region. Regional HealthChecks must belong to the same region as zones of NEGs.
     &quot;A String&quot;,
   ],
   &quot;healthStatusAggregationPolicy&quot;: &quot;A String&quot;, # Optional. Policy for how the results from multiple health checks for the same endpoint are aggregated. Defaults to NO_AGGREGATION if unspecified.
@@ -358,7 +358,7 @@
   &quot;creationTimestamp&quot;: &quot;A String&quot;, # [Output Only] Creation timestamp in RFC3339 text format.
   &quot;description&quot;: &quot;A String&quot;, # An optional description of this resource. Provide this property when you create the resource.
   &quot;fingerprint&quot;: &quot;A String&quot;, # Fingerprint of this resource. A hash of the contents stored in this object. This field is used in optimistic locking. This field will be ignored when inserting a HealthCheckService. An up-to-date fingerprint must be provided in order to patch/update the HealthCheckService; Otherwise, the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve the HealthCheckService.
-  &quot;healthChecks&quot;: [ # List of URLs to the HealthCheck resources. Must have at least one HealthCheck, and not more than 10. HealthCheck resources must have portSpecification=USE_SERVING_PORT. For regional HealthCheckService, the HealthCheck must be regional and in the same region. For global HealthCheckService, HealthCheck must be global. Mix of regional and global HealthChecks is not supported. Multiple regional HealthChecks must belong to the same region. Regional HealthChecks&lt;/code? must belong to the same region as zones of NEGs.
+  &quot;healthChecks&quot;: [ # List of URLs to the HealthCheck resources. Must have at least one HealthCheck, and not more than 10. HealthCheck resources must have portSpecification=USE_SERVING_PORT or portSpecification=USE_FIXED_PORT. For regional HealthCheckService, the HealthCheck must be regional and in the same region. For global HealthCheckService, HealthCheck must be global. Mix of regional and global HealthChecks is not supported. Multiple regional HealthChecks must belong to the same region. Regional HealthChecks must belong to the same region as zones of NEGs.
     &quot;A String&quot;,
   ],
   &quot;healthStatusAggregationPolicy&quot;: &quot;A String&quot;, # Optional. Policy for how the results from multiple health checks for the same endpoint are aggregated. Defaults to NO_AGGREGATION if unspecified.
@@ -489,7 +489,7 @@
       &quot;creationTimestamp&quot;: &quot;A String&quot;, # [Output Only] Creation timestamp in RFC3339 text format.
       &quot;description&quot;: &quot;A String&quot;, # An optional description of this resource. Provide this property when you create the resource.
       &quot;fingerprint&quot;: &quot;A String&quot;, # Fingerprint of this resource. A hash of the contents stored in this object. This field is used in optimistic locking. This field will be ignored when inserting a HealthCheckService. An up-to-date fingerprint must be provided in order to patch/update the HealthCheckService; Otherwise, the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve the HealthCheckService.
-      &quot;healthChecks&quot;: [ # List of URLs to the HealthCheck resources. Must have at least one HealthCheck, and not more than 10. HealthCheck resources must have portSpecification=USE_SERVING_PORT. For regional HealthCheckService, the HealthCheck must be regional and in the same region. For global HealthCheckService, HealthCheck must be global. Mix of regional and global HealthChecks is not supported. Multiple regional HealthChecks must belong to the same region. Regional HealthChecks&lt;/code? must belong to the same region as zones of NEGs.
+      &quot;healthChecks&quot;: [ # List of URLs to the HealthCheck resources. Must have at least one HealthCheck, and not more than 10. HealthCheck resources must have portSpecification=USE_SERVING_PORT or portSpecification=USE_FIXED_PORT. For regional HealthCheckService, the HealthCheck must be regional and in the same region. For global HealthCheckService, HealthCheck must be global. Mix of regional and global HealthChecks is not supported. Multiple regional HealthChecks must belong to the same region. Regional HealthChecks must belong to the same region as zones of NEGs.
         &quot;A String&quot;,
       ],
       &quot;healthStatusAggregationPolicy&quot;: &quot;A String&quot;, # Optional. Policy for how the results from multiple health checks for the same endpoint are aggregated. Defaults to NO_AGGREGATION if unspecified.
@@ -562,7 +562,7 @@
   &quot;creationTimestamp&quot;: &quot;A String&quot;, # [Output Only] Creation timestamp in RFC3339 text format.
   &quot;description&quot;: &quot;A String&quot;, # An optional description of this resource. Provide this property when you create the resource.
   &quot;fingerprint&quot;: &quot;A String&quot;, # Fingerprint of this resource. A hash of the contents stored in this object. This field is used in optimistic locking. This field will be ignored when inserting a HealthCheckService. An up-to-date fingerprint must be provided in order to patch/update the HealthCheckService; Otherwise, the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve the HealthCheckService.
-  &quot;healthChecks&quot;: [ # List of URLs to the HealthCheck resources. Must have at least one HealthCheck, and not more than 10. HealthCheck resources must have portSpecification=USE_SERVING_PORT. For regional HealthCheckService, the HealthCheck must be regional and in the same region. For global HealthCheckService, HealthCheck must be global. Mix of regional and global HealthChecks is not supported. Multiple regional HealthChecks must belong to the same region. Regional HealthChecks&lt;/code? must belong to the same region as zones of NEGs.
+  &quot;healthChecks&quot;: [ # List of URLs to the HealthCheck resources. Must have at least one HealthCheck, and not more than 10. HealthCheck resources must have portSpecification=USE_SERVING_PORT or portSpecification=USE_FIXED_PORT. For regional HealthCheckService, the HealthCheck must be regional and in the same region. For global HealthCheckService, HealthCheck must be global. Mix of regional and global HealthChecks is not supported. Multiple regional HealthChecks must belong to the same region. Regional HealthChecks must belong to the same region as zones of NEGs.
     &quot;A String&quot;,
   ],
   &quot;healthStatusAggregationPolicy&quot;: &quot;A String&quot;, # Optional. Policy for how the results from multiple health checks for the same endpoint are aggregated. Defaults to NO_AGGREGATION if unspecified.
diff --git a/docs/dyn/compute_alpha.regionInstanceGroupManagers.html b/docs/dyn/compute_alpha.regionInstanceGroupManagers.html
index f23d6ad..0e2a617 100644
--- a/docs/dyn/compute_alpha.regionInstanceGroupManagers.html
+++ b/docs/dyn/compute_alpha.regionInstanceGroupManagers.html
@@ -584,6 +584,7 @@
     &quot;A String&quot;,
   ],
   &quot;skipInapplicableInstances&quot;: True or False, # Skip instances which cannot be deleted (instances not belonging to this managed group, already being deleted or being abandoned). If `false`, fail whole flow, if such instance is passed. DEPRECATED: Use skip_instances_on_validation_error instead.
+  &quot;skipInstancesOnValidationError&quot;: True or False, # Specifies whether the request should proceed despite the inclusion of instances that are not members of the group or that are already in the process of being deleted or abandoned. If this field is set to `false` and such an instance is specified in the request, the operation fails. The operation always fails if the request contains a malformed instance URL or a reference to an instance that exists in a zone or region other than the group&#x27;s zone or region.
 }
 
   requestId: string, An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.
@@ -752,7 +753,9 @@
 Returns:
   An object of the form:
 
-    { # Represents a Managed Instance Group resource.
+    { # Whether the instance is a standby. Properties of a standby instance comparing to the regular instance: ========================================================================= | regular | standby ========================================================================= managed by IGM? | yes | yes added to the IG? | yes | yes counts towards IGM&#x27;s target size? | yes | no taken into account by Autoscaler? | yes | no receives traffic from LB? | yes | no =========================================================================
+    #
+    # Represents a Managed Instance Group resource.
     #
     # An instance group is a collection of VM instances that you can manage as a single entity. For more information, read Instance groups.
     #
@@ -947,7 +950,9 @@
   body: object, The request body.
     The object takes the form of:
 
-{ # Represents a Managed Instance Group resource.
+{ # Whether the instance is a standby. Properties of a standby instance comparing to the regular instance: ========================================================================= | regular | standby ========================================================================= managed by IGM? | yes | yes added to the IG? | yes | yes counts towards IGM&#x27;s target size? | yes | no taken into account by Autoscaler? | yes | no receives traffic from LB? | yes | no =========================================================================
+    # 
+    # Represents a Managed Instance Group resource.
     # 
     # An instance group is a collection of VM instances that you can manage as a single entity. For more information, read Instance groups.
     # 
@@ -1229,7 +1234,9 @@
     { # Contains a list of managed instance groups.
   &quot;id&quot;: &quot;A String&quot;, # [Output Only] Unique identifier for the resource; defined by the server.
   &quot;items&quot;: [ # A list of InstanceGroupManager resources.
-    { # Represents a Managed Instance Group resource.
+    { # Whether the instance is a standby. Properties of a standby instance comparing to the regular instance: ========================================================================= | regular | standby ========================================================================= managed by IGM? | yes | yes added to the IG? | yes | yes counts towards IGM&#x27;s target size? | yes | no taken into account by Autoscaler? | yes | no receives traffic from LB? | yes | no =========================================================================
+        #
+        # Represents a Managed Instance Group resource.
         #
         # An instance group is a collection of VM instances that you can manage as a single entity. For more information, read Instance groups.
         #
@@ -1758,7 +1765,9 @@
   body: object, The request body.
     The object takes the form of:
 
-{ # Represents a Managed Instance Group resource.
+{ # Whether the instance is a standby. Properties of a standby instance comparing to the regular instance: ========================================================================= | regular | standby ========================================================================= managed by IGM? | yes | yes added to the IG? | yes | yes counts towards IGM&#x27;s target size? | yes | no taken into account by Autoscaler? | yes | no receives traffic from LB? | yes | no =========================================================================
+    # 
+    # Represents a Managed Instance Group resource.
     # 
     # An instance group is a collection of VM instances that you can manage as a single entity. For more information, read Instance groups.
     # 
@@ -3106,7 +3115,9 @@
   body: object, The request body.
     The object takes the form of:
 
-{ # Represents a Managed Instance Group resource.
+{ # Whether the instance is a standby. Properties of a standby instance comparing to the regular instance: ========================================================================= | regular | standby ========================================================================= managed by IGM? | yes | yes added to the IG? | yes | yes counts towards IGM&#x27;s target size? | yes | no taken into account by Autoscaler? | yes | no receives traffic from LB? | yes | no =========================================================================
+    # 
+    # Represents a Managed Instance Group resource.
     # 
     # An instance group is a collection of VM instances that you can manage as a single entity. For more information, read Instance groups.
     # 
diff --git a/docs/dyn/compute_alpha.regionInstances.html b/docs/dyn/compute_alpha.regionInstances.html
index 1281bd7..526f013 100644
--- a/docs/dyn/compute_alpha.regionInstances.html
+++ b/docs/dyn/compute_alpha.regionInstances.html
@@ -91,7 +91,7 @@
   body: object, The request body.
     The object takes the form of:
 
-{
+{ # A transient resource used in compute.instances.bulkInsert and compute.regionInstances.bulkInsert and compute.regionInstances.recommendLocations. This resource is not persisted anywhere, it is used only for processing the requests.
   &quot;count&quot;: &quot;A String&quot;, # The maximum number of instances to create.
   &quot;instance&quot;: { # Represents an Instance resource. # DEPRECATED: Please use instance_properties instead.
       #
@@ -447,7 +447,7 @@
       },
     },
     &quot;satisfiesPzs&quot;: True or False, # [Output Only] Reserved for future use.
-    &quot;scheduling&quot;: { # Sets the scheduling options for an Instance. NextID: 20 # Sets the scheduling options for this instance.
+    &quot;scheduling&quot;: { # Sets the scheduling options for an Instance. NextID: 21 # Sets the scheduling options for this instance.
       &quot;automaticRestart&quot;: True or False, # Specifies whether the instance should be automatically restarted if it is terminated by Compute Engine (not terminated by a user). You can only set the automatic restart option for standard instances. Preemptible instances cannot be automatically restarted.
           #
           # By default, this is set to true so an instance is automatically restarted if it is terminated by Compute Engine.
@@ -469,7 +469,7 @@
       &quot;onHostMaintenance&quot;: &quot;A String&quot;, # Defines the maintenance behavior for this instance. For standard instances, the default behavior is MIGRATE. For preemptible instances, the default and only possible behavior is TERMINATE. For more information, see Setting Instance Scheduling Options.
       &quot;preemptible&quot;: True or False, # Defines whether the instance is preemptible. This can only be set during instance creation or while the instance is stopped and therefore, in a `TERMINATED` state. See Instance Life Cycle for more information on the possible instance states.
     },
-    &quot;secureTags&quot;: [ # Secure tags to apply to this instance. These can be later modified by the update method. Maximum number of secure tags allowed is 300.
+    &quot;secureTags&quot;: [ # [Input Only] Secure tags to apply to this instance. These can be later modified by the update method. Maximum number of secure tags allowed is 50.
       &quot;A String&quot;,
     ],
     &quot;selfLink&quot;: &quot;A String&quot;, # [Output Only] Server-defined URL for this resource.
@@ -833,7 +833,7 @@
     &quot;resourcePolicies&quot;: [ # Resource policies (names, not ULRs) applied to instances created from these properties.
       &quot;A String&quot;,
     ],
-    &quot;scheduling&quot;: { # Sets the scheduling options for an Instance. NextID: 20 # Specifies the scheduling options for the instances that are created from these properties.
+    &quot;scheduling&quot;: { # Sets the scheduling options for an Instance. NextID: 21 # Specifies the scheduling options for the instances that are created from these properties.
       &quot;automaticRestart&quot;: True or False, # Specifies whether the instance should be automatically restarted if it is terminated by Compute Engine (not terminated by a user). You can only set the automatic restart option for standard instances. Preemptible instances cannot be automatically restarted.
           #
           # By default, this is set to true so an instance is automatically restarted if it is terminated by Compute Engine.
@@ -855,6 +855,9 @@
       &quot;onHostMaintenance&quot;: &quot;A String&quot;, # Defines the maintenance behavior for this instance. For standard instances, the default behavior is MIGRATE. For preemptible instances, the default and only possible behavior is TERMINATE. For more information, see Setting Instance Scheduling Options.
       &quot;preemptible&quot;: True or False, # Defines whether the instance is preemptible. This can only be set during instance creation or while the instance is stopped and therefore, in a `TERMINATED` state. See Instance Life Cycle for more information on the possible instance states.
     },
+    &quot;secureTags&quot;: [ # Secure tags to apply to this instance. Maximum number of secure tags allowed is 50.
+      &quot;A String&quot;,
+    ],
     &quot;serviceAccounts&quot;: [ # A list of service accounts with specified scopes. Access tokens for these service accounts are available to the instances that are created from these properties. Use metadata queries to obtain the access tokens for these instances.
       { # A service account.
         &quot;email&quot;: &quot;A String&quot;, # Email address of the service account.
@@ -885,7 +888,7 @@
   &quot;locationPolicy&quot;: { # Configuration for location policy among multiple possible locations (e.g. preferences for zone selection among zones in a single region). # Policy for chosing target zone.
     &quot;locations&quot;: { # Location configurations mapped by location name. Currently only zone names are supported and must be represented as valid internal URLs, such as zones/us-central1-a.
       &quot;a_key&quot;: {
-        &quot;preference&quot;: &quot;A String&quot;, # Preference for a given locaction: ALLOW or DENY.
+        &quot;preference&quot;: &quot;A String&quot;, # Preference for a given location: ALLOW or DENY.
       },
     },
   },
@@ -899,7 +902,7 @@
   &quot;predefinedNames&quot;: [ # DEPRECATED: Please use per_instance_properties instead.
     &quot;A String&quot;,
   ],
-  &quot;secureTags&quot;: [ # Secure tags to apply to this instance. These can be later modified by the update method. Maximum number of secure tags allowed is 300.
+  &quot;secureTags&quot;: [ # Secure tags to apply to this instance. These can be later modified by the update method. Maximum number of secure tags allowed is 50.
     &quot;A String&quot;,
   ],
   &quot;sourceInstanceTemplate&quot;: &quot;A String&quot;, # Specifies the instance template from which to create instances. You may combine sourceInstanceTemplate with instanceProperties to override specific values from an existing instance template. Bulk API follows the semantics of JSON Merge Patch described by RFC 7396.
diff --git a/docs/dyn/compute_alpha.regionSecurityPolicies.html b/docs/dyn/compute_alpha.regionSecurityPolicies.html
new file mode 100644
index 0000000..19435a4
--- /dev/null
+++ b/docs/dyn/compute_alpha.regionSecurityPolicies.html
@@ -0,0 +1,1051 @@
+<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="compute_alpha.html">Compute Engine API</a> . <a href="compute_alpha.regionSecurityPolicies.html">regionSecurityPolicies</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="#delete">delete(project, region, securityPolicy, requestId=None)</a></code></p>
+<p class="firstline">Deletes the specified policy.</p>
+<p class="toc_element">
+  <code><a href="#get">get(project, region, securityPolicy)</a></code></p>
+<p class="firstline">List all of the ordered rules present in a single specified policy.</p>
+<p class="toc_element">
+  <code><a href="#insert">insert(project, region, body=None, requestId=None, validateOnly=None)</a></code></p>
+<p class="firstline">Creates a new policy in the specified project using the data included in the request.</p>
+<p class="toc_element">
+  <code><a href="#list">list(project, region, filter=None, maxResults=None, orderBy=None, pageToken=None, returnPartialSuccess=None)</a></code></p>
+<p class="firstline">List all the policies that have been configured for the specified project and region.</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(project, region, securityPolicy, body=None, requestId=None)</a></code></p>
+<p class="firstline">Patches the specified policy with the data included in the request.</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="delete">delete(project, region, securityPolicy, requestId=None)</code>
+  <pre>Deletes the specified policy.
+
+Args:
+  project: string, Project ID for this request. (required)
+  region: string, Name of the region scoping this request. (required)
+  securityPolicy: string, Name of the security policy to delete. (required)
+  requestId: string, An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.
+
+For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.
+
+The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
+
+Returns:
+  An object of the form:
+
+    { # Represents an Operation resource.
+    #
+    # Google Compute Engine has three Operation resources:
+    #
+    # * [Global](/compute/docs/reference/rest/{$api_version}/globalOperations) * [Regional](/compute/docs/reference/rest/{$api_version}/regionOperations) * [Zonal](/compute/docs/reference/rest/{$api_version}/zoneOperations)
+    #
+    # You can use an operation resource to manage asynchronous API requests. For more information, read Handling API responses.
+    #
+    # Operations can be global, regional or zonal.
+    # - For global operations, use the `globalOperations` resource.
+    # - For regional operations, use the `regionOperations` resource.
+    # - For zonal operations, use the `zonalOperations` resource.
+    #
+    # For more information, read  Global, Regional, and Zonal Resources. (== resource_for {$api_version}.globalOperations ==) (== resource_for {$api_version}.regionOperations ==) (== resource_for {$api_version}.zoneOperations ==)
+  &quot;clientOperationId&quot;: &quot;A String&quot;, # [Output Only] The value of `requestId` if you provided it in the request. Not present otherwise.
+  &quot;creationTimestamp&quot;: &quot;A String&quot;, # [Deprecated] This field is deprecated.
+  &quot;description&quot;: &quot;A String&quot;, # [Output Only] A textual description of the operation, which is set when the operation is created.
+  &quot;endTime&quot;: &quot;A String&quot;, # [Output Only] The time that this operation was completed. This value is in RFC3339 text format.
+  &quot;error&quot;: { # [Output Only] If errors are generated during processing of the operation, this field will be populated.
+    &quot;errors&quot;: [ # [Output Only] The array of errors encountered while processing this operation.
+      {
+        &quot;code&quot;: &quot;A String&quot;, # [Output Only] The error type identifier for this error.
+        &quot;location&quot;: &quot;A String&quot;, # [Output Only] Indicates the field in the request that caused the error. This property is optional.
+        &quot;message&quot;: &quot;A String&quot;, # [Output Only] An optional, human-readable error message.
+      },
+    ],
+  },
+  &quot;httpErrorMessage&quot;: &quot;A String&quot;, # [Output Only] If the operation fails, this field contains the HTTP error message that was returned, such as `NOT FOUND`.
+  &quot;httpErrorStatusCode&quot;: 42, # [Output Only] If the operation fails, this field contains the HTTP error status code that was returned. For example, a `404` means the resource was not found.
+  &quot;id&quot;: &quot;A String&quot;, # [Output Only] The unique identifier for the operation. This identifier is defined by the server.
+  &quot;insertTime&quot;: &quot;A String&quot;, # [Output Only] The time that this operation was requested. This value is in RFC3339 text format.
+  &quot;kind&quot;: &quot;compute#operation&quot;, # [Output Only] Type of the resource. Always `compute#operation` for Operation resources.
+  &quot;name&quot;: &quot;A String&quot;, # [Output Only] Name of the operation.
+  &quot;operationGroupId&quot;: &quot;A String&quot;, # [Output Only] An ID that represents a group of operations, such as when a group of operations results from a `bulkInsert` API request.
+  &quot;operationType&quot;: &quot;A String&quot;, # [Output Only] The type of operation, such as `insert`, `update`, or `delete`, and so on.
+  &quot;progress&quot;: 42, # [Output Only] An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess when the operation will be complete. This number should monotonically increase as the operation progresses.
+  &quot;region&quot;: &quot;A String&quot;, # [Output Only] The URL of the region where the operation resides. Only applicable when performing regional operations.
+  &quot;selfLink&quot;: &quot;A String&quot;, # [Output Only] Server-defined URL for the resource.
+  &quot;selfLinkWithId&quot;: &quot;A String&quot;, # [Output Only] Server-defined URL for this resource with the resource id.
+  &quot;startTime&quot;: &quot;A String&quot;, # [Output Only] The time that this operation was started by the server. This value is in RFC3339 text format.
+  &quot;status&quot;: &quot;A String&quot;, # [Output Only] The status of the operation, which can be one of the following: `PENDING`, `RUNNING`, or `DONE`.
+  &quot;statusMessage&quot;: &quot;A String&quot;, # [Output Only] An optional textual description of the current status of the operation.
+  &quot;targetId&quot;: &quot;A String&quot;, # [Output Only] The unique target ID, which identifies a specific incarnation of the target resource.
+  &quot;targetLink&quot;: &quot;A String&quot;, # [Output Only] The URL of the resource that the operation modifies. For operations related to creating a snapshot, this points to the persistent disk that the snapshot was created from.
+  &quot;user&quot;: &quot;A String&quot;, # [Output Only] User who requested the operation, for example: `user@example.com`.
+  &quot;warnings&quot;: [ # [Output Only] If warning messages are generated during processing of the operation, this field will be populated.
+    {
+      &quot;code&quot;: &quot;A String&quot;, # [Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.
+      &quot;data&quot;: [ # [Output Only] Metadata about this warning in key: value format. For example:
+          # &quot;data&quot;: [ { &quot;key&quot;: &quot;scope&quot;, &quot;value&quot;: &quot;zones/us-east1-d&quot; }
+        {
+          &quot;key&quot;: &quot;A String&quot;, # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).
+          &quot;value&quot;: &quot;A String&quot;, # [Output Only] A warning data value corresponding to the key.
+        },
+      ],
+      &quot;message&quot;: &quot;A String&quot;, # [Output Only] A human-readable description of the warning code.
+    },
+  ],
+  &quot;zone&quot;: &quot;A String&quot;, # [Output Only] The URL of the zone where the operation resides. Only applicable when performing per-zone operations.
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(project, region, securityPolicy)</code>
+  <pre>List all of the ordered rules present in a single specified policy.
+
+Args:
+  project: string, Project ID for this request. (required)
+  region: string, Name of the region scoping this request. (required)
+  securityPolicy: string, Name of the security policy to get. (required)
+
+Returns:
+  An object of the form:
+
+    { # Represents a Google Cloud Armor security policy resource.
+    #
+    # Only external backend services that use load balancers can reference a security policy. For more information, see  Google Cloud Armor security policy overview. (== resource_for {$api_version}.securityPolicies ==)
+  &quot;adaptiveProtectionConfig&quot;: { # Configuration options for Cloud Armor Adaptive Protection (CAAP).
+    &quot;layer7DdosDefenseConfig&quot;: { # Configuration options for L7 DDoS detection. # If set to true, enables Cloud Armor Machine Learning.
+      &quot;enable&quot;: True or False, # If set to true, enables CAAP for L7 DDoS detection.
+      &quot;ruleVisibility&quot;: &quot;A String&quot;, # Rule visibility can be one of the following: STANDARD - opaque rules. (default) PREMIUM - transparent rules.
+    },
+  },
+  &quot;associations&quot;: [ # A list of associations that belong to this policy.
+    {
+      &quot;attachmentId&quot;: &quot;A String&quot;, # The resource that the security policy is attached to.
+      &quot;displayName&quot;: &quot;A String&quot;, # [Output Only] The display name of the security policy of the association.
+      &quot;name&quot;: &quot;A String&quot;, # The name for an association.
+      &quot;securityPolicyId&quot;: &quot;A String&quot;, # [Output Only] The security policy ID of the association.
+    },
+  ],
+  &quot;cloudArmorConfig&quot;: { # Configuration options for Cloud Armor.
+    &quot;enableMl&quot;: True or False, # If set to true, enables Cloud Armor Machine Learning.
+  },
+  &quot;creationTimestamp&quot;: &quot;A String&quot;, # [Output Only] Creation timestamp in RFC3339 text format.
+  &quot;ddosProtectionConfig&quot;: {
+    &quot;ddosProtection&quot;: &quot;A String&quot;,
+  },
+  &quot;description&quot;: &quot;A String&quot;, # An optional description of this resource. Provide this property when you create the resource.
+  &quot;displayName&quot;: &quot;A String&quot;, # User-provided name of the Organization security plicy. The name should be unique in the organization in which the security policy is created. This should only be used when SecurityPolicyType is FIREWALL. The name must be 1-63 characters long, and comply with https://www.ietf.org/rfc/rfc1035.txt. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
+  &quot;fingerprint&quot;: &quot;A String&quot;, # Specifies a fingerprint for this resource, which is essentially a hash of the metadata&#x27;s contents and used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update metadata. You must always provide an up-to-date fingerprint hash in order to update or change metadata, otherwise the request will fail with error 412 conditionNotMet.
+      #
+      # To see the latest fingerprint, make get() request to the security policy.
+  &quot;id&quot;: &quot;A String&quot;, # [Output Only] The unique identifier for the resource. This identifier is defined by the server.
+  &quot;kind&quot;: &quot;compute#securityPolicy&quot;, # [Output only] Type of the resource. Always compute#securityPolicyfor security policies
+  &quot;labelFingerprint&quot;: &quot;A String&quot;, # A fingerprint for the labels being applied to this security policy, which is essentially a hash of the labels set used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update labels. You must always provide an up-to-date fingerprint hash in order to update or change labels.
+      #
+      # To see the latest fingerprint, make get() request to the security policy.
+  &quot;labels&quot;: { # Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty.
+    &quot;a_key&quot;: &quot;A String&quot;,
+  },
+  &quot;name&quot;: &quot;A String&quot;, # Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
+  &quot;parent&quot;: &quot;A String&quot;, # [Output Only] The parent of the security policy.
+  &quot;region&quot;: &quot;A String&quot;, # [Output Only] URL of the region where the regional security policy resides. This field is not applicable to global security policies.
+  &quot;ruleTupleCount&quot;: 42, # [Output Only] Total count of all security policy rule tuples. A security policy can not exceed a set number of tuples.
+  &quot;rules&quot;: [ # A list of rules that belong to this policy. There must always be a default rule (rule with priority 2147483647 and match &quot;*&quot;). If no rules are provided when creating a security policy, a default rule with action &quot;allow&quot; will be added.
+    { # Represents a rule that describes one or more match conditions along with the action to be taken when traffic matches this condition (allow or deny).
+      &quot;action&quot;: &quot;A String&quot;, # The Action to perform when the client connection triggers the rule. Can currently be either &quot;allow&quot; or &quot;deny()&quot; where valid values for status are 403, 404, and 502.
+      &quot;description&quot;: &quot;A String&quot;, # An optional description of this resource. Provide this property when you create the resource.
+      &quot;direction&quot;: &quot;A String&quot;, # The direction in which this rule applies. This field may only be specified when versioned_expr is set to FIREWALL.
+      &quot;enableLogging&quot;: True or False, # Denotes whether to enable logging for a particular rule. If logging is enabled, logs will be exported to the configured export destination in Stackdriver. Logs may be exported to BigQuery or Pub/Sub. Note: you cannot enable logging on &quot;goto_next&quot; rules.
+          #
+          # This field may only be specified when the versioned_expr is set to FIREWALL.
+      &quot;headerAction&quot;: { # Optional, additional actions that are performed on headers.
+        &quot;requestHeadersToAdds&quot;: [ # The list of request headers to add or overwrite if they&#x27;re already present.
+          {
+            &quot;headerName&quot;: &quot;A String&quot;, # The name of the header to set.
+            &quot;headerValue&quot;: &quot;A String&quot;, # The value to set the named header to.
+          },
+        ],
+      },
+      &quot;kind&quot;: &quot;compute#securityPolicyRule&quot;, # [Output only] Type of the resource. Always compute#securityPolicyRule for security policy rules
+      &quot;match&quot;: { # Represents a match condition that incoming traffic is evaluated against. Exactly one field must be specified. # A match condition that incoming traffic is evaluated against. If it evaluates to true, the corresponding &#x27;action&#x27; is enforced.
+        &quot;config&quot;: { # The configuration options available when specifying versioned_expr. This field must be specified if versioned_expr is specified and cannot be specified if versioned_expr is not specified.
+          &quot;destIpRanges&quot;: [ # CIDR IP address range.
+              #
+              # This field may only be specified when versioned_expr is set to FIREWALL.
+            &quot;A String&quot;,
+          ],
+          &quot;destPorts&quot;: [ # Pairs of IP protocols and ports that the rule should match.
+              #
+              # This field may only be specified when versioned_expr is set to FIREWALL.
+            {
+              &quot;ipProtocol&quot;: &quot;A String&quot;, # The IP protocol to which this rule applies. The protocol type is required when creating a firewall rule. This value can either be one of the following well known protocol strings (tcp, udp, icmp, esp, ah, ipip, sctp), or the IP protocol number.
+              &quot;ports&quot;: [ # An optional list of ports to which this rule applies. This field is only applicable for UDP or TCP protocol. Each entry must be either an integer or a range. If not specified, this rule applies to connections through any port.
+                  #
+                  # Example inputs include: [&quot;22&quot;], [&quot;80&quot;,&quot;443&quot;], and [&quot;12345-12349&quot;].
+                  #
+                  # This field may only be specified when versioned_expr is set to FIREWALL.
+                &quot;A String&quot;,
+              ],
+            },
+          ],
+          &quot;layer4Configs&quot;: [ # Pairs of IP protocols and ports that the rule should match.
+              #
+              # This field may only be specified when versioned_expr is set to FIREWALL.
+            {
+              &quot;ipProtocol&quot;: &quot;A String&quot;, # The IP protocol to which this rule applies. The protocol type is required when creating a firewall rule. This value can either be one of the following well known protocol strings (tcp, udp, icmp, esp, ah, ipip, sctp), or the IP protocol number.
+              &quot;ports&quot;: [ # An optional list of ports to which this rule applies. This field is only applicable for UDP or TCP protocol. Each entry must be either an integer or a range. If not specified, this rule applies to connections through any port.
+                  #
+                  # Example inputs include: [&quot;22&quot;], [&quot;80&quot;,&quot;443&quot;], and [&quot;12345-12349&quot;].
+                  #
+                  # This field may only be specified when versioned_expr is set to FIREWALL.
+                &quot;A String&quot;,
+              ],
+            },
+          ],
+          &quot;srcIpRanges&quot;: [ # CIDR IP address range. Maximum number of src_ip_ranges allowed is 10.
+            &quot;A String&quot;,
+          ],
+        },
+        &quot;expr&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. # User defined CEVAL expression. A CEVAL expression is used to specify match criteria such as origin.ip, source.region_code and contents in the request header.
+            #
+            # 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.
+          &quot;description&quot;: &quot;A String&quot;, # Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.
+          &quot;expression&quot;: &quot;A String&quot;, # Textual representation of an expression in Common Expression Language syntax.
+          &quot;location&quot;: &quot;A String&quot;, # Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file.
+          &quot;title&quot;: &quot;A String&quot;, # Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression.
+        },
+        &quot;versionedExpr&quot;: &quot;A String&quot;, # Preconfigured versioned expression. If this field is specified, config must also be specified. Available preconfigured expressions along with their requirements are: SRC_IPS_V1 - must specify the corresponding src_ip_range field in config.
+      },
+      &quot;preview&quot;: True or False, # If set to true, the specified action is not enforced.
+      &quot;priority&quot;: 42, # An integer indicating the priority of a rule in the list. The priority must be a positive value between 0 and 2147483647. Rules are evaluated from highest to lowest priority where 0 is the highest priority and 2147483647 is the lowest priority.
+      &quot;rateLimitOptions&quot;: { # Must be specified if the action is &quot;rate_based_ban&quot; or &quot;throttle&quot;. Cannot be specified for any other actions.
+        &quot;banDurationSec&quot;: 42, # Can only be specified if the action for the rule is &quot;rate_based_ban&quot;. If specified, determines the time (in seconds) the traffic will continue to be banned by the rate limit after the rate falls below the threshold.
+        &quot;banThreshold&quot;: { # Can only be specified if the action for the rule is &quot;rate_based_ban&quot;. If specified, the key will be banned for the configured &#x27;ban_duration_sec&#x27; when the number of requests that exceed the &#x27;rate_limit_threshold&#x27; also exceed this &#x27;ban_threshold&#x27;.
+          &quot;count&quot;: 42, # Number of HTTP(S) requests for calculating the threshold.
+          &quot;intervalSec&quot;: 42, # Interval over which the threshold is computed.
+        },
+        &quot;conformAction&quot;: &quot;A String&quot;, # Action to take when requests are under the given threshold. When requests are throttled, this is also the action for all requests which are not dropped. Valid options are &quot;allow&quot;, &quot;fairshare&quot;, and &quot;drop_overload&quot;.
+        &quot;enforceOnKey&quot;: &quot;A String&quot;, # Determines the key to enforce the threshold_rps limit on. If key is &quot;IP&quot;, each IP has this limit enforced separately, whereas &quot;ALL_IPs&quot; means a single limit is applied to all requests matching this rule.
+        &quot;exceedAction&quot;: &quot;A String&quot;, # When a request is denied, returns the HTTP response code specified. Valid options are &quot;deny()&quot; where valid values for status are 403, 404, 429, and 502.
+        &quot;rateLimitThreshold&quot;: { # Threshold at which to begin ratelimiting.
+          &quot;count&quot;: 42, # Number of HTTP(S) requests for calculating the threshold.
+          &quot;intervalSec&quot;: 42, # Interval over which the threshold is computed.
+        },
+      },
+      &quot;redirectTarget&quot;: &quot;A String&quot;, # This must be specified for redirect actions. Cannot be specified for any other actions.
+      &quot;ruleNumber&quot;: &quot;A String&quot;, # Identifier for the rule. This is only unique within the given security policy. This can only be set during rule creation, if rule number is not specified it will be generated by the server.
+      &quot;ruleTupleCount&quot;: 42, # [Output Only] Calculation of the complexity of a single firewall security policy rule.
+      &quot;targetResources&quot;: [ # A list of network resource URLs to which this rule applies. This field allows you to control which network&#x27;s VMs get this rule. If this field is left blank, all VMs within the organization will receive the rule.
+          #
+          # This field may only be specified when versioned_expr is set to FIREWALL.
+        &quot;A String&quot;,
+      ],
+      &quot;targetServiceAccounts&quot;: [ # A list of service accounts indicating the sets of instances that are applied with this rule.
+        &quot;A String&quot;,
+      ],
+    },
+  ],
+  &quot;selfLink&quot;: &quot;A String&quot;, # [Output Only] Server-defined URL for the resource.
+  &quot;selfLinkWithId&quot;: &quot;A String&quot;, # [Output Only] Server-defined URL for this resource with the resource id.
+  &quot;type&quot;: &quot;A String&quot;, # The type indicates the intended use of the security policy. CLOUD_ARMOR policies apply to backend services. FIREWALL policies apply to organizations.
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="insert">insert(project, region, body=None, requestId=None, validateOnly=None)</code>
+  <pre>Creates a new policy in the specified project using the data included in the request.
+
+Args:
+  project: string, Project ID for this request. (required)
+  region: string, Name of the region scoping this request. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Represents a Google Cloud Armor security policy resource.
+    # 
+    # Only external backend services that use load balancers can reference a security policy. For more information, see  Google Cloud Armor security policy overview. (== resource_for {$api_version}.securityPolicies ==)
+  &quot;adaptiveProtectionConfig&quot;: { # Configuration options for Cloud Armor Adaptive Protection (CAAP).
+    &quot;layer7DdosDefenseConfig&quot;: { # Configuration options for L7 DDoS detection. # If set to true, enables Cloud Armor Machine Learning.
+      &quot;enable&quot;: True or False, # If set to true, enables CAAP for L7 DDoS detection.
+      &quot;ruleVisibility&quot;: &quot;A String&quot;, # Rule visibility can be one of the following: STANDARD - opaque rules. (default) PREMIUM - transparent rules.
+    },
+  },
+  &quot;associations&quot;: [ # A list of associations that belong to this policy.
+    {
+      &quot;attachmentId&quot;: &quot;A String&quot;, # The resource that the security policy is attached to.
+      &quot;displayName&quot;: &quot;A String&quot;, # [Output Only] The display name of the security policy of the association.
+      &quot;name&quot;: &quot;A String&quot;, # The name for an association.
+      &quot;securityPolicyId&quot;: &quot;A String&quot;, # [Output Only] The security policy ID of the association.
+    },
+  ],
+  &quot;cloudArmorConfig&quot;: { # Configuration options for Cloud Armor.
+    &quot;enableMl&quot;: True or False, # If set to true, enables Cloud Armor Machine Learning.
+  },
+  &quot;creationTimestamp&quot;: &quot;A String&quot;, # [Output Only] Creation timestamp in RFC3339 text format.
+  &quot;ddosProtectionConfig&quot;: {
+    &quot;ddosProtection&quot;: &quot;A String&quot;,
+  },
+  &quot;description&quot;: &quot;A String&quot;, # An optional description of this resource. Provide this property when you create the resource.
+  &quot;displayName&quot;: &quot;A String&quot;, # User-provided name of the Organization security plicy. The name should be unique in the organization in which the security policy is created. This should only be used when SecurityPolicyType is FIREWALL. The name must be 1-63 characters long, and comply with https://www.ietf.org/rfc/rfc1035.txt. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
+  &quot;fingerprint&quot;: &quot;A String&quot;, # Specifies a fingerprint for this resource, which is essentially a hash of the metadata&#x27;s contents and used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update metadata. You must always provide an up-to-date fingerprint hash in order to update or change metadata, otherwise the request will fail with error 412 conditionNotMet.
+      # 
+      # To see the latest fingerprint, make get() request to the security policy.
+  &quot;id&quot;: &quot;A String&quot;, # [Output Only] The unique identifier for the resource. This identifier is defined by the server.
+  &quot;kind&quot;: &quot;compute#securityPolicy&quot;, # [Output only] Type of the resource. Always compute#securityPolicyfor security policies
+  &quot;labelFingerprint&quot;: &quot;A String&quot;, # A fingerprint for the labels being applied to this security policy, which is essentially a hash of the labels set used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update labels. You must always provide an up-to-date fingerprint hash in order to update or change labels.
+      # 
+      # To see the latest fingerprint, make get() request to the security policy.
+  &quot;labels&quot;: { # Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty.
+    &quot;a_key&quot;: &quot;A String&quot;,
+  },
+  &quot;name&quot;: &quot;A String&quot;, # Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
+  &quot;parent&quot;: &quot;A String&quot;, # [Output Only] The parent of the security policy.
+  &quot;region&quot;: &quot;A String&quot;, # [Output Only] URL of the region where the regional security policy resides. This field is not applicable to global security policies.
+  &quot;ruleTupleCount&quot;: 42, # [Output Only] Total count of all security policy rule tuples. A security policy can not exceed a set number of tuples.
+  &quot;rules&quot;: [ # A list of rules that belong to this policy. There must always be a default rule (rule with priority 2147483647 and match &quot;*&quot;). If no rules are provided when creating a security policy, a default rule with action &quot;allow&quot; will be added.
+    { # Represents a rule that describes one or more match conditions along with the action to be taken when traffic matches this condition (allow or deny).
+      &quot;action&quot;: &quot;A String&quot;, # The Action to perform when the client connection triggers the rule. Can currently be either &quot;allow&quot; or &quot;deny()&quot; where valid values for status are 403, 404, and 502.
+      &quot;description&quot;: &quot;A String&quot;, # An optional description of this resource. Provide this property when you create the resource.
+      &quot;direction&quot;: &quot;A String&quot;, # The direction in which this rule applies. This field may only be specified when versioned_expr is set to FIREWALL.
+      &quot;enableLogging&quot;: True or False, # Denotes whether to enable logging for a particular rule. If logging is enabled, logs will be exported to the configured export destination in Stackdriver. Logs may be exported to BigQuery or Pub/Sub. Note: you cannot enable logging on &quot;goto_next&quot; rules.
+          #
+          # This field may only be specified when the versioned_expr is set to FIREWALL.
+      &quot;headerAction&quot;: { # Optional, additional actions that are performed on headers.
+        &quot;requestHeadersToAdds&quot;: [ # The list of request headers to add or overwrite if they&#x27;re already present.
+          {
+            &quot;headerName&quot;: &quot;A String&quot;, # The name of the header to set.
+            &quot;headerValue&quot;: &quot;A String&quot;, # The value to set the named header to.
+          },
+        ],
+      },
+      &quot;kind&quot;: &quot;compute#securityPolicyRule&quot;, # [Output only] Type of the resource. Always compute#securityPolicyRule for security policy rules
+      &quot;match&quot;: { # Represents a match condition that incoming traffic is evaluated against. Exactly one field must be specified. # A match condition that incoming traffic is evaluated against. If it evaluates to true, the corresponding &#x27;action&#x27; is enforced.
+        &quot;config&quot;: { # The configuration options available when specifying versioned_expr. This field must be specified if versioned_expr is specified and cannot be specified if versioned_expr is not specified.
+          &quot;destIpRanges&quot;: [ # CIDR IP address range.
+              #
+              # This field may only be specified when versioned_expr is set to FIREWALL.
+            &quot;A String&quot;,
+          ],
+          &quot;destPorts&quot;: [ # Pairs of IP protocols and ports that the rule should match.
+              #
+              # This field may only be specified when versioned_expr is set to FIREWALL.
+            {
+              &quot;ipProtocol&quot;: &quot;A String&quot;, # The IP protocol to which this rule applies. The protocol type is required when creating a firewall rule. This value can either be one of the following well known protocol strings (tcp, udp, icmp, esp, ah, ipip, sctp), or the IP protocol number.
+              &quot;ports&quot;: [ # An optional list of ports to which this rule applies. This field is only applicable for UDP or TCP protocol. Each entry must be either an integer or a range. If not specified, this rule applies to connections through any port.
+                  #
+                  # Example inputs include: [&quot;22&quot;], [&quot;80&quot;,&quot;443&quot;], and [&quot;12345-12349&quot;].
+                  #
+                  # This field may only be specified when versioned_expr is set to FIREWALL.
+                &quot;A String&quot;,
+              ],
+            },
+          ],
+          &quot;layer4Configs&quot;: [ # Pairs of IP protocols and ports that the rule should match.
+              #
+              # This field may only be specified when versioned_expr is set to FIREWALL.
+            {
+              &quot;ipProtocol&quot;: &quot;A String&quot;, # The IP protocol to which this rule applies. The protocol type is required when creating a firewall rule. This value can either be one of the following well known protocol strings (tcp, udp, icmp, esp, ah, ipip, sctp), or the IP protocol number.
+              &quot;ports&quot;: [ # An optional list of ports to which this rule applies. This field is only applicable for UDP or TCP protocol. Each entry must be either an integer or a range. If not specified, this rule applies to connections through any port.
+                  #
+                  # Example inputs include: [&quot;22&quot;], [&quot;80&quot;,&quot;443&quot;], and [&quot;12345-12349&quot;].
+                  #
+                  # This field may only be specified when versioned_expr is set to FIREWALL.
+                &quot;A String&quot;,
+              ],
+            },
+          ],
+          &quot;srcIpRanges&quot;: [ # CIDR IP address range. Maximum number of src_ip_ranges allowed is 10.
+            &quot;A String&quot;,
+          ],
+        },
+        &quot;expr&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. # User defined CEVAL expression. A CEVAL expression is used to specify match criteria such as origin.ip, source.region_code and contents in the request header.
+            #
+            # 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.
+          &quot;description&quot;: &quot;A String&quot;, # Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.
+          &quot;expression&quot;: &quot;A String&quot;, # Textual representation of an expression in Common Expression Language syntax.
+          &quot;location&quot;: &quot;A String&quot;, # Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file.
+          &quot;title&quot;: &quot;A String&quot;, # Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression.
+        },
+        &quot;versionedExpr&quot;: &quot;A String&quot;, # Preconfigured versioned expression. If this field is specified, config must also be specified. Available preconfigured expressions along with their requirements are: SRC_IPS_V1 - must specify the corresponding src_ip_range field in config.
+      },
+      &quot;preview&quot;: True or False, # If set to true, the specified action is not enforced.
+      &quot;priority&quot;: 42, # An integer indicating the priority of a rule in the list. The priority must be a positive value between 0 and 2147483647. Rules are evaluated from highest to lowest priority where 0 is the highest priority and 2147483647 is the lowest priority.
+      &quot;rateLimitOptions&quot;: { # Must be specified if the action is &quot;rate_based_ban&quot; or &quot;throttle&quot;. Cannot be specified for any other actions.
+        &quot;banDurationSec&quot;: 42, # Can only be specified if the action for the rule is &quot;rate_based_ban&quot;. If specified, determines the time (in seconds) the traffic will continue to be banned by the rate limit after the rate falls below the threshold.
+        &quot;banThreshold&quot;: { # Can only be specified if the action for the rule is &quot;rate_based_ban&quot;. If specified, the key will be banned for the configured &#x27;ban_duration_sec&#x27; when the number of requests that exceed the &#x27;rate_limit_threshold&#x27; also exceed this &#x27;ban_threshold&#x27;.
+          &quot;count&quot;: 42, # Number of HTTP(S) requests for calculating the threshold.
+          &quot;intervalSec&quot;: 42, # Interval over which the threshold is computed.
+        },
+        &quot;conformAction&quot;: &quot;A String&quot;, # Action to take when requests are under the given threshold. When requests are throttled, this is also the action for all requests which are not dropped. Valid options are &quot;allow&quot;, &quot;fairshare&quot;, and &quot;drop_overload&quot;.
+        &quot;enforceOnKey&quot;: &quot;A String&quot;, # Determines the key to enforce the threshold_rps limit on. If key is &quot;IP&quot;, each IP has this limit enforced separately, whereas &quot;ALL_IPs&quot; means a single limit is applied to all requests matching this rule.
+        &quot;exceedAction&quot;: &quot;A String&quot;, # When a request is denied, returns the HTTP response code specified. Valid options are &quot;deny()&quot; where valid values for status are 403, 404, 429, and 502.
+        &quot;rateLimitThreshold&quot;: { # Threshold at which to begin ratelimiting.
+          &quot;count&quot;: 42, # Number of HTTP(S) requests for calculating the threshold.
+          &quot;intervalSec&quot;: 42, # Interval over which the threshold is computed.
+        },
+      },
+      &quot;redirectTarget&quot;: &quot;A String&quot;, # This must be specified for redirect actions. Cannot be specified for any other actions.
+      &quot;ruleNumber&quot;: &quot;A String&quot;, # Identifier for the rule. This is only unique within the given security policy. This can only be set during rule creation, if rule number is not specified it will be generated by the server.
+      &quot;ruleTupleCount&quot;: 42, # [Output Only] Calculation of the complexity of a single firewall security policy rule.
+      &quot;targetResources&quot;: [ # A list of network resource URLs to which this rule applies. This field allows you to control which network&#x27;s VMs get this rule. If this field is left blank, all VMs within the organization will receive the rule.
+          #
+          # This field may only be specified when versioned_expr is set to FIREWALL.
+        &quot;A String&quot;,
+      ],
+      &quot;targetServiceAccounts&quot;: [ # A list of service accounts indicating the sets of instances that are applied with this rule.
+        &quot;A String&quot;,
+      ],
+    },
+  ],
+  &quot;selfLink&quot;: &quot;A String&quot;, # [Output Only] Server-defined URL for the resource.
+  &quot;selfLinkWithId&quot;: &quot;A String&quot;, # [Output Only] Server-defined URL for this resource with the resource id.
+  &quot;type&quot;: &quot;A String&quot;, # The type indicates the intended use of the security policy. CLOUD_ARMOR policies apply to backend services. FIREWALL policies apply to organizations.
+}
+
+  requestId: string, An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.
+
+For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.
+
+The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
+  validateOnly: boolean, If true, the request will not be committed.
+
+Returns:
+  An object of the form:
+
+    { # Represents an Operation resource.
+    #
+    # Google Compute Engine has three Operation resources:
+    #
+    # * [Global](/compute/docs/reference/rest/{$api_version}/globalOperations) * [Regional](/compute/docs/reference/rest/{$api_version}/regionOperations) * [Zonal](/compute/docs/reference/rest/{$api_version}/zoneOperations)
+    #
+    # You can use an operation resource to manage asynchronous API requests. For more information, read Handling API responses.
+    #
+    # Operations can be global, regional or zonal.
+    # - For global operations, use the `globalOperations` resource.
+    # - For regional operations, use the `regionOperations` resource.
+    # - For zonal operations, use the `zonalOperations` resource.
+    #
+    # For more information, read  Global, Regional, and Zonal Resources. (== resource_for {$api_version}.globalOperations ==) (== resource_for {$api_version}.regionOperations ==) (== resource_for {$api_version}.zoneOperations ==)
+  &quot;clientOperationId&quot;: &quot;A String&quot;, # [Output Only] The value of `requestId` if you provided it in the request. Not present otherwise.
+  &quot;creationTimestamp&quot;: &quot;A String&quot;, # [Deprecated] This field is deprecated.
+  &quot;description&quot;: &quot;A String&quot;, # [Output Only] A textual description of the operation, which is set when the operation is created.
+  &quot;endTime&quot;: &quot;A String&quot;, # [Output Only] The time that this operation was completed. This value is in RFC3339 text format.
+  &quot;error&quot;: { # [Output Only] If errors are generated during processing of the operation, this field will be populated.
+    &quot;errors&quot;: [ # [Output Only] The array of errors encountered while processing this operation.
+      {
+        &quot;code&quot;: &quot;A String&quot;, # [Output Only] The error type identifier for this error.
+        &quot;location&quot;: &quot;A String&quot;, # [Output Only] Indicates the field in the request that caused the error. This property is optional.
+        &quot;message&quot;: &quot;A String&quot;, # [Output Only] An optional, human-readable error message.
+      },
+    ],
+  },
+  &quot;httpErrorMessage&quot;: &quot;A String&quot;, # [Output Only] If the operation fails, this field contains the HTTP error message that was returned, such as `NOT FOUND`.
+  &quot;httpErrorStatusCode&quot;: 42, # [Output Only] If the operation fails, this field contains the HTTP error status code that was returned. For example, a `404` means the resource was not found.
+  &quot;id&quot;: &quot;A String&quot;, # [Output Only] The unique identifier for the operation. This identifier is defined by the server.
+  &quot;insertTime&quot;: &quot;A String&quot;, # [Output Only] The time that this operation was requested. This value is in RFC3339 text format.
+  &quot;kind&quot;: &quot;compute#operation&quot;, # [Output Only] Type of the resource. Always `compute#operation` for Operation resources.
+  &quot;name&quot;: &quot;A String&quot;, # [Output Only] Name of the operation.
+  &quot;operationGroupId&quot;: &quot;A String&quot;, # [Output Only] An ID that represents a group of operations, such as when a group of operations results from a `bulkInsert` API request.
+  &quot;operationType&quot;: &quot;A String&quot;, # [Output Only] The type of operation, such as `insert`, `update`, or `delete`, and so on.
+  &quot;progress&quot;: 42, # [Output Only] An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess when the operation will be complete. This number should monotonically increase as the operation progresses.
+  &quot;region&quot;: &quot;A String&quot;, # [Output Only] The URL of the region where the operation resides. Only applicable when performing regional operations.
+  &quot;selfLink&quot;: &quot;A String&quot;, # [Output Only] Server-defined URL for the resource.
+  &quot;selfLinkWithId&quot;: &quot;A String&quot;, # [Output Only] Server-defined URL for this resource with the resource id.
+  &quot;startTime&quot;: &quot;A String&quot;, # [Output Only] The time that this operation was started by the server. This value is in RFC3339 text format.
+  &quot;status&quot;: &quot;A String&quot;, # [Output Only] The status of the operation, which can be one of the following: `PENDING`, `RUNNING`, or `DONE`.
+  &quot;statusMessage&quot;: &quot;A String&quot;, # [Output Only] An optional textual description of the current status of the operation.
+  &quot;targetId&quot;: &quot;A String&quot;, # [Output Only] The unique target ID, which identifies a specific incarnation of the target resource.
+  &quot;targetLink&quot;: &quot;A String&quot;, # [Output Only] The URL of the resource that the operation modifies. For operations related to creating a snapshot, this points to the persistent disk that the snapshot was created from.
+  &quot;user&quot;: &quot;A String&quot;, # [Output Only] User who requested the operation, for example: `user@example.com`.
+  &quot;warnings&quot;: [ # [Output Only] If warning messages are generated during processing of the operation, this field will be populated.
+    {
+      &quot;code&quot;: &quot;A String&quot;, # [Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.
+      &quot;data&quot;: [ # [Output Only] Metadata about this warning in key: value format. For example:
+          # &quot;data&quot;: [ { &quot;key&quot;: &quot;scope&quot;, &quot;value&quot;: &quot;zones/us-east1-d&quot; }
+        {
+          &quot;key&quot;: &quot;A String&quot;, # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).
+          &quot;value&quot;: &quot;A String&quot;, # [Output Only] A warning data value corresponding to the key.
+        },
+      ],
+      &quot;message&quot;: &quot;A String&quot;, # [Output Only] A human-readable description of the warning code.
+    },
+  ],
+  &quot;zone&quot;: &quot;A String&quot;, # [Output Only] The URL of the zone where the operation resides. Only applicable when performing per-zone operations.
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(project, region, filter=None, maxResults=None, orderBy=None, pageToken=None, returnPartialSuccess=None)</code>
+  <pre>List all the policies that have been configured for the specified project and region.
+
+Args:
+  project: string, Project ID for this request. (required)
+  region: string, Name of the region scoping this request. (required)
+  filter: string, A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `&gt;`, or `&lt;`.
+
+For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.
+
+You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels.
+
+To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = &quot;Intel Skylake&quot;) ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = &quot;Intel Skylake&quot;) OR (cpuPlatform = &quot;Intel Broadwell&quot;) AND (scheduling.automaticRestart = true) ```
+  maxResults: integer, The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)
+  orderBy: string, Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.
+
+You can also sort results in descending order based on the creation timestamp using `orderBy=&quot;creationTimestamp desc&quot;`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first.
+
+Currently, only sorting by `name` or `creationTimestamp desc` is supported.
+  pageToken: string, Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.
+  returnPartialSuccess: boolean, Opt-in for partial success behavior which provides partial results in case of failure. The default value is false.
+
+Returns:
+  An object of the form:
+
+    {
+  &quot;etag&quot;: &quot;A String&quot;,
+  &quot;id&quot;: &quot;A String&quot;, # [Output Only] Unique identifier for the resource; defined by the server.
+  &quot;items&quot;: [ # A list of SecurityPolicy resources.
+    { # Represents a Google Cloud Armor security policy resource.
+        #
+        # Only external backend services that use load balancers can reference a security policy. For more information, see  Google Cloud Armor security policy overview. (== resource_for {$api_version}.securityPolicies ==)
+      &quot;adaptiveProtectionConfig&quot;: { # Configuration options for Cloud Armor Adaptive Protection (CAAP).
+        &quot;layer7DdosDefenseConfig&quot;: { # Configuration options for L7 DDoS detection. # If set to true, enables Cloud Armor Machine Learning.
+          &quot;enable&quot;: True or False, # If set to true, enables CAAP for L7 DDoS detection.
+          &quot;ruleVisibility&quot;: &quot;A String&quot;, # Rule visibility can be one of the following: STANDARD - opaque rules. (default) PREMIUM - transparent rules.
+        },
+      },
+      &quot;associations&quot;: [ # A list of associations that belong to this policy.
+        {
+          &quot;attachmentId&quot;: &quot;A String&quot;, # The resource that the security policy is attached to.
+          &quot;displayName&quot;: &quot;A String&quot;, # [Output Only] The display name of the security policy of the association.
+          &quot;name&quot;: &quot;A String&quot;, # The name for an association.
+          &quot;securityPolicyId&quot;: &quot;A String&quot;, # [Output Only] The security policy ID of the association.
+        },
+      ],
+      &quot;cloudArmorConfig&quot;: { # Configuration options for Cloud Armor.
+        &quot;enableMl&quot;: True or False, # If set to true, enables Cloud Armor Machine Learning.
+      },
+      &quot;creationTimestamp&quot;: &quot;A String&quot;, # [Output Only] Creation timestamp in RFC3339 text format.
+      &quot;ddosProtectionConfig&quot;: {
+        &quot;ddosProtection&quot;: &quot;A String&quot;,
+      },
+      &quot;description&quot;: &quot;A String&quot;, # An optional description of this resource. Provide this property when you create the resource.
+      &quot;displayName&quot;: &quot;A String&quot;, # User-provided name of the Organization security plicy. The name should be unique in the organization in which the security policy is created. This should only be used when SecurityPolicyType is FIREWALL. The name must be 1-63 characters long, and comply with https://www.ietf.org/rfc/rfc1035.txt. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
+      &quot;fingerprint&quot;: &quot;A String&quot;, # Specifies a fingerprint for this resource, which is essentially a hash of the metadata&#x27;s contents and used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update metadata. You must always provide an up-to-date fingerprint hash in order to update or change metadata, otherwise the request will fail with error 412 conditionNotMet.
+          #
+          # To see the latest fingerprint, make get() request to the security policy.
+      &quot;id&quot;: &quot;A String&quot;, # [Output Only] The unique identifier for the resource. This identifier is defined by the server.
+      &quot;kind&quot;: &quot;compute#securityPolicy&quot;, # [Output only] Type of the resource. Always compute#securityPolicyfor security policies
+      &quot;labelFingerprint&quot;: &quot;A String&quot;, # A fingerprint for the labels being applied to this security policy, which is essentially a hash of the labels set used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update labels. You must always provide an up-to-date fingerprint hash in order to update or change labels.
+          #
+          # To see the latest fingerprint, make get() request to the security policy.
+      &quot;labels&quot;: { # Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty.
+        &quot;a_key&quot;: &quot;A String&quot;,
+      },
+      &quot;name&quot;: &quot;A String&quot;, # Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
+      &quot;parent&quot;: &quot;A String&quot;, # [Output Only] The parent of the security policy.
+      &quot;region&quot;: &quot;A String&quot;, # [Output Only] URL of the region where the regional security policy resides. This field is not applicable to global security policies.
+      &quot;ruleTupleCount&quot;: 42, # [Output Only] Total count of all security policy rule tuples. A security policy can not exceed a set number of tuples.
+      &quot;rules&quot;: [ # A list of rules that belong to this policy. There must always be a default rule (rule with priority 2147483647 and match &quot;*&quot;). If no rules are provided when creating a security policy, a default rule with action &quot;allow&quot; will be added.
+        { # Represents a rule that describes one or more match conditions along with the action to be taken when traffic matches this condition (allow or deny).
+          &quot;action&quot;: &quot;A String&quot;, # The Action to perform when the client connection triggers the rule. Can currently be either &quot;allow&quot; or &quot;deny()&quot; where valid values for status are 403, 404, and 502.
+          &quot;description&quot;: &quot;A String&quot;, # An optional description of this resource. Provide this property when you create the resource.
+          &quot;direction&quot;: &quot;A String&quot;, # The direction in which this rule applies. This field may only be specified when versioned_expr is set to FIREWALL.
+          &quot;enableLogging&quot;: True or False, # Denotes whether to enable logging for a particular rule. If logging is enabled, logs will be exported to the configured export destination in Stackdriver. Logs may be exported to BigQuery or Pub/Sub. Note: you cannot enable logging on &quot;goto_next&quot; rules.
+              #
+              # This field may only be specified when the versioned_expr is set to FIREWALL.
+          &quot;headerAction&quot;: { # Optional, additional actions that are performed on headers.
+            &quot;requestHeadersToAdds&quot;: [ # The list of request headers to add or overwrite if they&#x27;re already present.
+              {
+                &quot;headerName&quot;: &quot;A String&quot;, # The name of the header to set.
+                &quot;headerValue&quot;: &quot;A String&quot;, # The value to set the named header to.
+              },
+            ],
+          },
+          &quot;kind&quot;: &quot;compute#securityPolicyRule&quot;, # [Output only] Type of the resource. Always compute#securityPolicyRule for security policy rules
+          &quot;match&quot;: { # Represents a match condition that incoming traffic is evaluated against. Exactly one field must be specified. # A match condition that incoming traffic is evaluated against. If it evaluates to true, the corresponding &#x27;action&#x27; is enforced.
+            &quot;config&quot;: { # The configuration options available when specifying versioned_expr. This field must be specified if versioned_expr is specified and cannot be specified if versioned_expr is not specified.
+              &quot;destIpRanges&quot;: [ # CIDR IP address range.
+                  #
+                  # This field may only be specified when versioned_expr is set to FIREWALL.
+                &quot;A String&quot;,
+              ],
+              &quot;destPorts&quot;: [ # Pairs of IP protocols and ports that the rule should match.
+                  #
+                  # This field may only be specified when versioned_expr is set to FIREWALL.
+                {
+                  &quot;ipProtocol&quot;: &quot;A String&quot;, # The IP protocol to which this rule applies. The protocol type is required when creating a firewall rule. This value can either be one of the following well known protocol strings (tcp, udp, icmp, esp, ah, ipip, sctp), or the IP protocol number.
+                  &quot;ports&quot;: [ # An optional list of ports to which this rule applies. This field is only applicable for UDP or TCP protocol. Each entry must be either an integer or a range. If not specified, this rule applies to connections through any port.
+                      #
+                      # Example inputs include: [&quot;22&quot;], [&quot;80&quot;,&quot;443&quot;], and [&quot;12345-12349&quot;].
+                      #
+                      # This field may only be specified when versioned_expr is set to FIREWALL.
+                    &quot;A String&quot;,
+                  ],
+                },
+              ],
+              &quot;layer4Configs&quot;: [ # Pairs of IP protocols and ports that the rule should match.
+                  #
+                  # This field may only be specified when versioned_expr is set to FIREWALL.
+                {
+                  &quot;ipProtocol&quot;: &quot;A String&quot;, # The IP protocol to which this rule applies. The protocol type is required when creating a firewall rule. This value can either be one of the following well known protocol strings (tcp, udp, icmp, esp, ah, ipip, sctp), or the IP protocol number.
+                  &quot;ports&quot;: [ # An optional list of ports to which this rule applies. This field is only applicable for UDP or TCP protocol. Each entry must be either an integer or a range. If not specified, this rule applies to connections through any port.
+                      #
+                      # Example inputs include: [&quot;22&quot;], [&quot;80&quot;,&quot;443&quot;], and [&quot;12345-12349&quot;].
+                      #
+                      # This field may only be specified when versioned_expr is set to FIREWALL.
+                    &quot;A String&quot;,
+                  ],
+                },
+              ],
+              &quot;srcIpRanges&quot;: [ # CIDR IP address range. Maximum number of src_ip_ranges allowed is 10.
+                &quot;A String&quot;,
+              ],
+            },
+            &quot;expr&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. # User defined CEVAL expression. A CEVAL expression is used to specify match criteria such as origin.ip, source.region_code and contents in the request header.
+                #
+                # 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.
+              &quot;description&quot;: &quot;A String&quot;, # Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.
+              &quot;expression&quot;: &quot;A String&quot;, # Textual representation of an expression in Common Expression Language syntax.
+              &quot;location&quot;: &quot;A String&quot;, # Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file.
+              &quot;title&quot;: &quot;A String&quot;, # Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression.
+            },
+            &quot;versionedExpr&quot;: &quot;A String&quot;, # Preconfigured versioned expression. If this field is specified, config must also be specified. Available preconfigured expressions along with their requirements are: SRC_IPS_V1 - must specify the corresponding src_ip_range field in config.
+          },
+          &quot;preview&quot;: True or False, # If set to true, the specified action is not enforced.
+          &quot;priority&quot;: 42, # An integer indicating the priority of a rule in the list. The priority must be a positive value between 0 and 2147483647. Rules are evaluated from highest to lowest priority where 0 is the highest priority and 2147483647 is the lowest priority.
+          &quot;rateLimitOptions&quot;: { # Must be specified if the action is &quot;rate_based_ban&quot; or &quot;throttle&quot;. Cannot be specified for any other actions.
+            &quot;banDurationSec&quot;: 42, # Can only be specified if the action for the rule is &quot;rate_based_ban&quot;. If specified, determines the time (in seconds) the traffic will continue to be banned by the rate limit after the rate falls below the threshold.
+            &quot;banThreshold&quot;: { # Can only be specified if the action for the rule is &quot;rate_based_ban&quot;. If specified, the key will be banned for the configured &#x27;ban_duration_sec&#x27; when the number of requests that exceed the &#x27;rate_limit_threshold&#x27; also exceed this &#x27;ban_threshold&#x27;.
+              &quot;count&quot;: 42, # Number of HTTP(S) requests for calculating the threshold.
+              &quot;intervalSec&quot;: 42, # Interval over which the threshold is computed.
+            },
+            &quot;conformAction&quot;: &quot;A String&quot;, # Action to take when requests are under the given threshold. When requests are throttled, this is also the action for all requests which are not dropped. Valid options are &quot;allow&quot;, &quot;fairshare&quot;, and &quot;drop_overload&quot;.
+            &quot;enforceOnKey&quot;: &quot;A String&quot;, # Determines the key to enforce the threshold_rps limit on. If key is &quot;IP&quot;, each IP has this limit enforced separately, whereas &quot;ALL_IPs&quot; means a single limit is applied to all requests matching this rule.
+            &quot;exceedAction&quot;: &quot;A String&quot;, # When a request is denied, returns the HTTP response code specified. Valid options are &quot;deny()&quot; where valid values for status are 403, 404, 429, and 502.
+            &quot;rateLimitThreshold&quot;: { # Threshold at which to begin ratelimiting.
+              &quot;count&quot;: 42, # Number of HTTP(S) requests for calculating the threshold.
+              &quot;intervalSec&quot;: 42, # Interval over which the threshold is computed.
+            },
+          },
+          &quot;redirectTarget&quot;: &quot;A String&quot;, # This must be specified for redirect actions. Cannot be specified for any other actions.
+          &quot;ruleNumber&quot;: &quot;A String&quot;, # Identifier for the rule. This is only unique within the given security policy. This can only be set during rule creation, if rule number is not specified it will be generated by the server.
+          &quot;ruleTupleCount&quot;: 42, # [Output Only] Calculation of the complexity of a single firewall security policy rule.
+          &quot;targetResources&quot;: [ # A list of network resource URLs to which this rule applies. This field allows you to control which network&#x27;s VMs get this rule. If this field is left blank, all VMs within the organization will receive the rule.
+              #
+              # This field may only be specified when versioned_expr is set to FIREWALL.
+            &quot;A String&quot;,
+          ],
+          &quot;targetServiceAccounts&quot;: [ # A list of service accounts indicating the sets of instances that are applied with this rule.
+            &quot;A String&quot;,
+          ],
+        },
+      ],
+      &quot;selfLink&quot;: &quot;A String&quot;, # [Output Only] Server-defined URL for the resource.
+      &quot;selfLinkWithId&quot;: &quot;A String&quot;, # [Output Only] Server-defined URL for this resource with the resource id.
+      &quot;type&quot;: &quot;A String&quot;, # The type indicates the intended use of the security policy. CLOUD_ARMOR policies apply to backend services. FIREWALL policies apply to organizations.
+    },
+  ],
+  &quot;kind&quot;: &quot;compute#securityPolicyList&quot;, # [Output Only] Type of resource. Always compute#securityPolicyList for listsof securityPolicies
+  &quot;nextPageToken&quot;: &quot;A String&quot;, # [Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.
+  &quot;unreachables&quot;: [ # [Output Only] Unreachable resources.
+    &quot;A String&quot;,
+  ],
+  &quot;warning&quot;: { # [Output Only] Informational warning message.
+    &quot;code&quot;: &quot;A String&quot;, # [Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.
+    &quot;data&quot;: [ # [Output Only] Metadata about this warning in key: value format. For example:
+        # &quot;data&quot;: [ { &quot;key&quot;: &quot;scope&quot;, &quot;value&quot;: &quot;zones/us-east1-d&quot; }
+      {
+        &quot;key&quot;: &quot;A String&quot;, # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).
+        &quot;value&quot;: &quot;A String&quot;, # [Output Only] A warning data value corresponding to the key.
+      },
+    ],
+    &quot;message&quot;: &quot;A String&quot;, # [Output Only] A human-readable description of the warning code.
+  },
+}</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(project, region, securityPolicy, body=None, requestId=None)</code>
+  <pre>Patches the specified policy with the data included in the request.
+
+Args:
+  project: string, Project ID for this request. (required)
+  region: string, Name of the region scoping this request. (required)
+  securityPolicy: string, Name of the security policy to update. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Represents a Google Cloud Armor security policy resource.
+    # 
+    # Only external backend services that use load balancers can reference a security policy. For more information, see  Google Cloud Armor security policy overview. (== resource_for {$api_version}.securityPolicies ==)
+  &quot;adaptiveProtectionConfig&quot;: { # Configuration options for Cloud Armor Adaptive Protection (CAAP).
+    &quot;layer7DdosDefenseConfig&quot;: { # Configuration options for L7 DDoS detection. # If set to true, enables Cloud Armor Machine Learning.
+      &quot;enable&quot;: True or False, # If set to true, enables CAAP for L7 DDoS detection.
+      &quot;ruleVisibility&quot;: &quot;A String&quot;, # Rule visibility can be one of the following: STANDARD - opaque rules. (default) PREMIUM - transparent rules.
+    },
+  },
+  &quot;associations&quot;: [ # A list of associations that belong to this policy.
+    {
+      &quot;attachmentId&quot;: &quot;A String&quot;, # The resource that the security policy is attached to.
+      &quot;displayName&quot;: &quot;A String&quot;, # [Output Only] The display name of the security policy of the association.
+      &quot;name&quot;: &quot;A String&quot;, # The name for an association.
+      &quot;securityPolicyId&quot;: &quot;A String&quot;, # [Output Only] The security policy ID of the association.
+    },
+  ],
+  &quot;cloudArmorConfig&quot;: { # Configuration options for Cloud Armor.
+    &quot;enableMl&quot;: True or False, # If set to true, enables Cloud Armor Machine Learning.
+  },
+  &quot;creationTimestamp&quot;: &quot;A String&quot;, # [Output Only] Creation timestamp in RFC3339 text format.
+  &quot;ddosProtectionConfig&quot;: {
+    &quot;ddosProtection&quot;: &quot;A String&quot;,
+  },
+  &quot;description&quot;: &quot;A String&quot;, # An optional description of this resource. Provide this property when you create the resource.
+  &quot;displayName&quot;: &quot;A String&quot;, # User-provided name of the Organization security plicy. The name should be unique in the organization in which the security policy is created. This should only be used when SecurityPolicyType is FIREWALL. The name must be 1-63 characters long, and comply with https://www.ietf.org/rfc/rfc1035.txt. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
+  &quot;fingerprint&quot;: &quot;A String&quot;, # Specifies a fingerprint for this resource, which is essentially a hash of the metadata&#x27;s contents and used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update metadata. You must always provide an up-to-date fingerprint hash in order to update or change metadata, otherwise the request will fail with error 412 conditionNotMet.
+      # 
+      # To see the latest fingerprint, make get() request to the security policy.
+  &quot;id&quot;: &quot;A String&quot;, # [Output Only] The unique identifier for the resource. This identifier is defined by the server.
+  &quot;kind&quot;: &quot;compute#securityPolicy&quot;, # [Output only] Type of the resource. Always compute#securityPolicyfor security policies
+  &quot;labelFingerprint&quot;: &quot;A String&quot;, # A fingerprint for the labels being applied to this security policy, which is essentially a hash of the labels set used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update labels. You must always provide an up-to-date fingerprint hash in order to update or change labels.
+      # 
+      # To see the latest fingerprint, make get() request to the security policy.
+  &quot;labels&quot;: { # Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty.
+    &quot;a_key&quot;: &quot;A String&quot;,
+  },
+  &quot;name&quot;: &quot;A String&quot;, # Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
+  &quot;parent&quot;: &quot;A String&quot;, # [Output Only] The parent of the security policy.
+  &quot;region&quot;: &quot;A String&quot;, # [Output Only] URL of the region where the regional security policy resides. This field is not applicable to global security policies.
+  &quot;ruleTupleCount&quot;: 42, # [Output Only] Total count of all security policy rule tuples. A security policy can not exceed a set number of tuples.
+  &quot;rules&quot;: [ # A list of rules that belong to this policy. There must always be a default rule (rule with priority 2147483647 and match &quot;*&quot;). If no rules are provided when creating a security policy, a default rule with action &quot;allow&quot; will be added.
+    { # Represents a rule that describes one or more match conditions along with the action to be taken when traffic matches this condition (allow or deny).
+      &quot;action&quot;: &quot;A String&quot;, # The Action to perform when the client connection triggers the rule. Can currently be either &quot;allow&quot; or &quot;deny()&quot; where valid values for status are 403, 404, and 502.
+      &quot;description&quot;: &quot;A String&quot;, # An optional description of this resource. Provide this property when you create the resource.
+      &quot;direction&quot;: &quot;A String&quot;, # The direction in which this rule applies. This field may only be specified when versioned_expr is set to FIREWALL.
+      &quot;enableLogging&quot;: True or False, # Denotes whether to enable logging for a particular rule. If logging is enabled, logs will be exported to the configured export destination in Stackdriver. Logs may be exported to BigQuery or Pub/Sub. Note: you cannot enable logging on &quot;goto_next&quot; rules.
+          #
+          # This field may only be specified when the versioned_expr is set to FIREWALL.
+      &quot;headerAction&quot;: { # Optional, additional actions that are performed on headers.
+        &quot;requestHeadersToAdds&quot;: [ # The list of request headers to add or overwrite if they&#x27;re already present.
+          {
+            &quot;headerName&quot;: &quot;A String&quot;, # The name of the header to set.
+            &quot;headerValue&quot;: &quot;A String&quot;, # The value to set the named header to.
+          },
+        ],
+      },
+      &quot;kind&quot;: &quot;compute#securityPolicyRule&quot;, # [Output only] Type of the resource. Always compute#securityPolicyRule for security policy rules
+      &quot;match&quot;: { # Represents a match condition that incoming traffic is evaluated against. Exactly one field must be specified. # A match condition that incoming traffic is evaluated against. If it evaluates to true, the corresponding &#x27;action&#x27; is enforced.
+        &quot;config&quot;: { # The configuration options available when specifying versioned_expr. This field must be specified if versioned_expr is specified and cannot be specified if versioned_expr is not specified.
+          &quot;destIpRanges&quot;: [ # CIDR IP address range.
+              #
+              # This field may only be specified when versioned_expr is set to FIREWALL.
+            &quot;A String&quot;,
+          ],
+          &quot;destPorts&quot;: [ # Pairs of IP protocols and ports that the rule should match.
+              #
+              # This field may only be specified when versioned_expr is set to FIREWALL.
+            {
+              &quot;ipProtocol&quot;: &quot;A String&quot;, # The IP protocol to which this rule applies. The protocol type is required when creating a firewall rule. This value can either be one of the following well known protocol strings (tcp, udp, icmp, esp, ah, ipip, sctp), or the IP protocol number.
+              &quot;ports&quot;: [ # An optional list of ports to which this rule applies. This field is only applicable for UDP or TCP protocol. Each entry must be either an integer or a range. If not specified, this rule applies to connections through any port.
+                  #
+                  # Example inputs include: [&quot;22&quot;], [&quot;80&quot;,&quot;443&quot;], and [&quot;12345-12349&quot;].
+                  #
+                  # This field may only be specified when versioned_expr is set to FIREWALL.
+                &quot;A String&quot;,
+              ],
+            },
+          ],
+          &quot;layer4Configs&quot;: [ # Pairs of IP protocols and ports that the rule should match.
+              #
+              # This field may only be specified when versioned_expr is set to FIREWALL.
+            {
+              &quot;ipProtocol&quot;: &quot;A String&quot;, # The IP protocol to which this rule applies. The protocol type is required when creating a firewall rule. This value can either be one of the following well known protocol strings (tcp, udp, icmp, esp, ah, ipip, sctp), or the IP protocol number.
+              &quot;ports&quot;: [ # An optional list of ports to which this rule applies. This field is only applicable for UDP or TCP protocol. Each entry must be either an integer or a range. If not specified, this rule applies to connections through any port.
+                  #
+                  # Example inputs include: [&quot;22&quot;], [&quot;80&quot;,&quot;443&quot;], and [&quot;12345-12349&quot;].
+                  #
+                  # This field may only be specified when versioned_expr is set to FIREWALL.
+                &quot;A String&quot;,
+              ],
+            },
+          ],
+          &quot;srcIpRanges&quot;: [ # CIDR IP address range. Maximum number of src_ip_ranges allowed is 10.
+            &quot;A String&quot;,
+          ],
+        },
+        &quot;expr&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. # User defined CEVAL expression. A CEVAL expression is used to specify match criteria such as origin.ip, source.region_code and contents in the request header.
+            #
+            # 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.
+          &quot;description&quot;: &quot;A String&quot;, # Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.
+          &quot;expression&quot;: &quot;A String&quot;, # Textual representation of an expression in Common Expression Language syntax.
+          &quot;location&quot;: &quot;A String&quot;, # Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file.
+          &quot;title&quot;: &quot;A String&quot;, # Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression.
+        },
+        &quot;versionedExpr&quot;: &quot;A String&quot;, # Preconfigured versioned expression. If this field is specified, config must also be specified. Available preconfigured expressions along with their requirements are: SRC_IPS_V1 - must specify the corresponding src_ip_range field in config.
+      },
+      &quot;preview&quot;: True or False, # If set to true, the specified action is not enforced.
+      &quot;priority&quot;: 42, # An integer indicating the priority of a rule in the list. The priority must be a positive value between 0 and 2147483647. Rules are evaluated from highest to lowest priority where 0 is the highest priority and 2147483647 is the lowest priority.
+      &quot;rateLimitOptions&quot;: { # Must be specified if the action is &quot;rate_based_ban&quot; or &quot;throttle&quot;. Cannot be specified for any other actions.
+        &quot;banDurationSec&quot;: 42, # Can only be specified if the action for the rule is &quot;rate_based_ban&quot;. If specified, determines the time (in seconds) the traffic will continue to be banned by the rate limit after the rate falls below the threshold.
+        &quot;banThreshold&quot;: { # Can only be specified if the action for the rule is &quot;rate_based_ban&quot;. If specified, the key will be banned for the configured &#x27;ban_duration_sec&#x27; when the number of requests that exceed the &#x27;rate_limit_threshold&#x27; also exceed this &#x27;ban_threshold&#x27;.
+          &quot;count&quot;: 42, # Number of HTTP(S) requests for calculating the threshold.
+          &quot;intervalSec&quot;: 42, # Interval over which the threshold is computed.
+        },
+        &quot;conformAction&quot;: &quot;A String&quot;, # Action to take when requests are under the given threshold. When requests are throttled, this is also the action for all requests which are not dropped. Valid options are &quot;allow&quot;, &quot;fairshare&quot;, and &quot;drop_overload&quot;.
+        &quot;enforceOnKey&quot;: &quot;A String&quot;, # Determines the key to enforce the threshold_rps limit on. If key is &quot;IP&quot;, each IP has this limit enforced separately, whereas &quot;ALL_IPs&quot; means a single limit is applied to all requests matching this rule.
+        &quot;exceedAction&quot;: &quot;A String&quot;, # When a request is denied, returns the HTTP response code specified. Valid options are &quot;deny()&quot; where valid values for status are 403, 404, 429, and 502.
+        &quot;rateLimitThreshold&quot;: { # Threshold at which to begin ratelimiting.
+          &quot;count&quot;: 42, # Number of HTTP(S) requests for calculating the threshold.
+          &quot;intervalSec&quot;: 42, # Interval over which the threshold is computed.
+        },
+      },
+      &quot;redirectTarget&quot;: &quot;A String&quot;, # This must be specified for redirect actions. Cannot be specified for any other actions.
+      &quot;ruleNumber&quot;: &quot;A String&quot;, # Identifier for the rule. This is only unique within the given security policy. This can only be set during rule creation, if rule number is not specified it will be generated by the server.
+      &quot;ruleTupleCount&quot;: 42, # [Output Only] Calculation of the complexity of a single firewall security policy rule.
+      &quot;targetResources&quot;: [ # A list of network resource URLs to which this rule applies. This field allows you to control which network&#x27;s VMs get this rule. If this field is left blank, all VMs within the organization will receive the rule.
+          #
+          # This field may only be specified when versioned_expr is set to FIREWALL.
+        &quot;A String&quot;,
+      ],
+      &quot;targetServiceAccounts&quot;: [ # A list of service accounts indicating the sets of instances that are applied with this rule.
+        &quot;A String&quot;,
+      ],
+    },
+  ],
+  &quot;selfLink&quot;: &quot;A String&quot;, # [Output Only] Server-defined URL for the resource.
+  &quot;selfLinkWithId&quot;: &quot;A String&quot;, # [Output Only] Server-defined URL for this resource with the resource id.
+  &quot;type&quot;: &quot;A String&quot;, # The type indicates the intended use of the security policy. CLOUD_ARMOR policies apply to backend services. FIREWALL policies apply to organizations.
+}
+
+  requestId: string, An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.
+
+For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.
+
+The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
+
+Returns:
+  An object of the form:
+
+    { # Represents an Operation resource.
+    #
+    # Google Compute Engine has three Operation resources:
+    #
+    # * [Global](/compute/docs/reference/rest/{$api_version}/globalOperations) * [Regional](/compute/docs/reference/rest/{$api_version}/regionOperations) * [Zonal](/compute/docs/reference/rest/{$api_version}/zoneOperations)
+    #
+    # You can use an operation resource to manage asynchronous API requests. For more information, read Handling API responses.
+    #
+    # Operations can be global, regional or zonal.
+    # - For global operations, use the `globalOperations` resource.
+    # - For regional operations, use the `regionOperations` resource.
+    # - For zonal operations, use the `zonalOperations` resource.
+    #
+    # For more information, read  Global, Regional, and Zonal Resources. (== resource_for {$api_version}.globalOperations ==) (== resource_for {$api_version}.regionOperations ==) (== resource_for {$api_version}.zoneOperations ==)
+  &quot;clientOperationId&quot;: &quot;A String&quot;, # [Output Only] The value of `requestId` if you provided it in the request. Not present otherwise.
+  &quot;creationTimestamp&quot;: &quot;A String&quot;, # [Deprecated] This field is deprecated.
+  &quot;description&quot;: &quot;A String&quot;, # [Output Only] A textual description of the operation, which is set when the operation is created.
+  &quot;endTime&quot;: &quot;A String&quot;, # [Output Only] The time that this operation was completed. This value is in RFC3339 text format.
+  &quot;error&quot;: { # [Output Only] If errors are generated during processing of the operation, this field will be populated.
+    &quot;errors&quot;: [ # [Output Only] The array of errors encountered while processing this operation.
+      {
+        &quot;code&quot;: &quot;A String&quot;, # [Output Only] The error type identifier for this error.
+        &quot;location&quot;: &quot;A String&quot;, # [Output Only] Indicates the field in the request that caused the error. This property is optional.
+        &quot;message&quot;: &quot;A String&quot;, # [Output Only] An optional, human-readable error message.
+      },
+    ],
+  },
+  &quot;httpErrorMessage&quot;: &quot;A String&quot;, # [Output Only] If the operation fails, this field contains the HTTP error message that was returned, such as `NOT FOUND`.
+  &quot;httpErrorStatusCode&quot;: 42, # [Output Only] If the operation fails, this field contains the HTTP error status code that was returned. For example, a `404` means the resource was not found.
+  &quot;id&quot;: &quot;A String&quot;, # [Output Only] The unique identifier for the operation. This identifier is defined by the server.
+  &quot;insertTime&quot;: &quot;A String&quot;, # [Output Only] The time that this operation was requested. This value is in RFC3339 text format.
+  &quot;kind&quot;: &quot;compute#operation&quot;, # [Output Only] Type of the resource. Always `compute#operation` for Operation resources.
+  &quot;name&quot;: &quot;A String&quot;, # [Output Only] Name of the operation.
+  &quot;operationGroupId&quot;: &quot;A String&quot;, # [Output Only] An ID that represents a group of operations, such as when a group of operations results from a `bulkInsert` API request.
+  &quot;operationType&quot;: &quot;A String&quot;, # [Output Only] The type of operation, such as `insert`, `update`, or `delete`, and so on.
+  &quot;progress&quot;: 42, # [Output Only] An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess when the operation will be complete. This number should monotonically increase as the operation progresses.
+  &quot;region&quot;: &quot;A String&quot;, # [Output Only] The URL of the region where the operation resides. Only applicable when performing regional operations.
+  &quot;selfLink&quot;: &quot;A String&quot;, # [Output Only] Server-defined URL for the resource.
+  &quot;selfLinkWithId&quot;: &quot;A String&quot;, # [Output Only] Server-defined URL for this resource with the resource id.
+  &quot;startTime&quot;: &quot;A String&quot;, # [Output Only] The time that this operation was started by the server. This value is in RFC3339 text format.
+  &quot;status&quot;: &quot;A String&quot;, # [Output Only] The status of the operation, which can be one of the following: `PENDING`, `RUNNING`, or `DONE`.
+  &quot;statusMessage&quot;: &quot;A String&quot;, # [Output Only] An optional textual description of the current status of the operation.
+  &quot;targetId&quot;: &quot;A String&quot;, # [Output Only] The unique target ID, which identifies a specific incarnation of the target resource.
+  &quot;targetLink&quot;: &quot;A String&quot;, # [Output Only] The URL of the resource that the operation modifies. For operations related to creating a snapshot, this points to the persistent disk that the snapshot was created from.
+  &quot;user&quot;: &quot;A String&quot;, # [Output Only] User who requested the operation, for example: `user@example.com`.
+  &quot;warnings&quot;: [ # [Output Only] If warning messages are generated during processing of the operation, this field will be populated.
+    {
+      &quot;code&quot;: &quot;A String&quot;, # [Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.
+      &quot;data&quot;: [ # [Output Only] Metadata about this warning in key: value format. For example:
+          # &quot;data&quot;: [ { &quot;key&quot;: &quot;scope&quot;, &quot;value&quot;: &quot;zones/us-east1-d&quot; }
+        {
+          &quot;key&quot;: &quot;A String&quot;, # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).
+          &quot;value&quot;: &quot;A String&quot;, # [Output Only] A warning data value corresponding to the key.
+        },
+      ],
+      &quot;message&quot;: &quot;A String&quot;, # [Output Only] A human-readable description of the warning code.
+    },
+  ],
+  &quot;zone&quot;: &quot;A String&quot;, # [Output Only] The URL of the zone where the operation resides. Only applicable when performing per-zone operations.
+}</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/compute_alpha.regionTargetHttpsProxies.html b/docs/dyn/compute_alpha.regionTargetHttpsProxies.html
index 9dcb191..87323d2 100644
--- a/docs/dyn/compute_alpha.regionTargetHttpsProxies.html
+++ b/docs/dyn/compute_alpha.regionTargetHttpsProxies.html
@@ -243,7 +243,7 @@
       # serverTlsPolicy only applies to a global TargetHttpsProxy attached to globalForwardingRules with the loadBalancingScheme set to INTERNAL_SELF_MANAGED.
       # If left blank, communications are not encrypted.
       # Note: This field currently has no impact.
-  &quot;sslCertificates&quot;: [ # URLs to SslCertificate resources that are used to authenticate connections between users and the load balancer. At least one SSL certificate must be specified. Currently, you may specify up to 15 SSL certificates.
+  &quot;sslCertificates&quot;: [ # URLs to SslCertificate resources that are used to authenticate connections between users and the load balancer. At least one SSL certificate must be specified. Currently, you may specify up to 15 SSL certificates. sslCertificates do not apply when the load balancing scheme is set to INTERNAL_SELF_MANAGED.
     &quot;A String&quot;,
   ],
   &quot;sslPolicy&quot;: &quot;A String&quot;, # URL of SslPolicy resource that will be associated with the TargetHttpsProxy resource. If not set, the TargetHttpsProxy resource has no SSL policy configured.
@@ -309,7 +309,7 @@
       # serverTlsPolicy only applies to a global TargetHttpsProxy attached to globalForwardingRules with the loadBalancingScheme set to INTERNAL_SELF_MANAGED.
       # If left blank, communications are not encrypted.
       # Note: This field currently has no impact.
-  &quot;sslCertificates&quot;: [ # URLs to SslCertificate resources that are used to authenticate connections between users and the load balancer. At least one SSL certificate must be specified. Currently, you may specify up to 15 SSL certificates.
+  &quot;sslCertificates&quot;: [ # URLs to SslCertificate resources that are used to authenticate connections between users and the load balancer. At least one SSL certificate must be specified. Currently, you may specify up to 15 SSL certificates. sslCertificates do not apply when the load balancing scheme is set to INTERNAL_SELF_MANAGED.
     &quot;A String&quot;,
   ],
   &quot;sslPolicy&quot;: &quot;A String&quot;, # URL of SslPolicy resource that will be associated with the TargetHttpsProxy resource. If not set, the TargetHttpsProxy resource has no SSL policy configured.
@@ -464,7 +464,7 @@
           # serverTlsPolicy only applies to a global TargetHttpsProxy attached to globalForwardingRules with the loadBalancingScheme set to INTERNAL_SELF_MANAGED.
           # If left blank, communications are not encrypted.
           # Note: This field currently has no impact.
-      &quot;sslCertificates&quot;: [ # URLs to SslCertificate resources that are used to authenticate connections between users and the load balancer. At least one SSL certificate must be specified. Currently, you may specify up to 15 SSL certificates.
+      &quot;sslCertificates&quot;: [ # URLs to SslCertificate resources that are used to authenticate connections between users and the load balancer. At least one SSL certificate must be specified. Currently, you may specify up to 15 SSL certificates. sslCertificates do not apply when the load balancing scheme is set to INTERNAL_SELF_MANAGED.
         &quot;A String&quot;,
       ],
       &quot;sslPolicy&quot;: &quot;A String&quot;, # URL of SslPolicy resource that will be associated with the TargetHttpsProxy resource. If not set, the TargetHttpsProxy resource has no SSL policy configured.
diff --git a/docs/dyn/compute_alpha.regionUrlMaps.html b/docs/dyn/compute_alpha.regionUrlMaps.html
index cf5d0db..5e960f5 100644
--- a/docs/dyn/compute_alpha.regionUrlMaps.html
+++ b/docs/dyn/compute_alpha.regionUrlMaps.html
@@ -248,10 +248,10 @@
     },
     &quot;faultInjectionPolicy&quot;: { # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests. # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests.
         # timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy.
-        # Not supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true.
       &quot;abort&quot;: { # Specification for how requests are aborted as part of fault injection. # The specification for how client requests are aborted as part of fault injection.
         &quot;httpStatus&quot;: 42, # The HTTP status code used to abort the request.
             # The value must be between 200 and 599 inclusive.
+            # For gRPC protocol, the gRPC status code is mapped to HTTP status code according to this  mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
         &quot;percentage&quot;: 3.14, # The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.
             # The value must be between 0.0 and 100.0 inclusive.
       },
@@ -282,7 +282,7 @@
         &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
         &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
       },
-      &quot;retryConditions&quot;: [ # Specfies one or more conditions when this retry rule applies. Valid values are:
+      &quot;retryConditions&quot;: [ # Specifies one or more conditions when this retry rule applies. Valid values are:
           # - 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, or if the backend service does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams.
           # - gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.
           # -
@@ -449,10 +449,10 @@
         },
         &quot;faultInjectionPolicy&quot;: { # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests. # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests.
             # timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy.
-            # Not supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true.
           &quot;abort&quot;: { # Specification for how requests are aborted as part of fault injection. # The specification for how client requests are aborted as part of fault injection.
             &quot;httpStatus&quot;: 42, # The HTTP status code used to abort the request.
                 # The value must be between 200 and 599 inclusive.
+                # For gRPC protocol, the gRPC status code is mapped to HTTP status code according to this  mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
             &quot;percentage&quot;: 3.14, # The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.
                 # The value must be between 0.0 and 100.0 inclusive.
           },
@@ -483,7 +483,7 @@
             &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
             &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
           },
-          &quot;retryConditions&quot;: [ # Specfies one or more conditions when this retry rule applies. Valid values are:
+          &quot;retryConditions&quot;: [ # Specifies one or more conditions when this retry rule applies. Valid values are:
               # - 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, or if the backend service does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams.
               # - gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.
               # -
@@ -645,10 +645,10 @@
             },
             &quot;faultInjectionPolicy&quot;: { # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests. # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests.
                 # timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy.
-                # Not supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true.
               &quot;abort&quot;: { # Specification for how requests are aborted as part of fault injection. # The specification for how client requests are aborted as part of fault injection.
                 &quot;httpStatus&quot;: 42, # The HTTP status code used to abort the request.
                     # The value must be between 200 and 599 inclusive.
+                    # For gRPC protocol, the gRPC status code is mapped to HTTP status code according to this  mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
                 &quot;percentage&quot;: 3.14, # The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.
                     # The value must be between 0.0 and 100.0 inclusive.
               },
@@ -679,7 +679,7 @@
                 &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
                 &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
               },
-              &quot;retryConditions&quot;: [ # Specfies one or more conditions when this retry rule applies. Valid values are:
+              &quot;retryConditions&quot;: [ # Specifies one or more conditions when this retry rule applies. Valid values are:
                   # - 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, or if the backend service does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams.
                   # - gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.
                   # -
@@ -939,10 +939,10 @@
             },
             &quot;faultInjectionPolicy&quot;: { # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests. # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests.
                 # timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy.
-                # Not supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true.
               &quot;abort&quot;: { # Specification for how requests are aborted as part of fault injection. # The specification for how client requests are aborted as part of fault injection.
                 &quot;httpStatus&quot;: 42, # The HTTP status code used to abort the request.
                     # The value must be between 200 and 599 inclusive.
+                    # For gRPC protocol, the gRPC status code is mapped to HTTP status code according to this  mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
                 &quot;percentage&quot;: 3.14, # The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.
                     # The value must be between 0.0 and 100.0 inclusive.
               },
@@ -973,7 +973,7 @@
                 &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
                 &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
               },
-              &quot;retryConditions&quot;: [ # Specfies one or more conditions when this retry rule applies. Valid values are:
+              &quot;retryConditions&quot;: [ # Specifies one or more conditions when this retry rule applies. Valid values are:
                   # - 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, or if the backend service does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams.
                   # - gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.
                   # -
@@ -1155,10 +1155,10 @@
     },
     &quot;faultInjectionPolicy&quot;: { # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests. # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests.
         # timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy.
-        # Not supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true.
       &quot;abort&quot;: { # Specification for how requests are aborted as part of fault injection. # The specification for how client requests are aborted as part of fault injection.
         &quot;httpStatus&quot;: 42, # The HTTP status code used to abort the request.
             # The value must be between 200 and 599 inclusive.
+            # For gRPC protocol, the gRPC status code is mapped to HTTP status code according to this  mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
         &quot;percentage&quot;: 3.14, # The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.
             # The value must be between 0.0 and 100.0 inclusive.
       },
@@ -1189,7 +1189,7 @@
         &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
         &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
       },
-      &quot;retryConditions&quot;: [ # Specfies one or more conditions when this retry rule applies. Valid values are:
+      &quot;retryConditions&quot;: [ # Specifies one or more conditions when this retry rule applies. Valid values are:
           # - 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, or if the backend service does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams.
           # - gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.
           # -
@@ -1356,10 +1356,10 @@
         },
         &quot;faultInjectionPolicy&quot;: { # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests. # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests.
             # timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy.
-            # Not supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true.
           &quot;abort&quot;: { # Specification for how requests are aborted as part of fault injection. # The specification for how client requests are aborted as part of fault injection.
             &quot;httpStatus&quot;: 42, # The HTTP status code used to abort the request.
                 # The value must be between 200 and 599 inclusive.
+                # For gRPC protocol, the gRPC status code is mapped to HTTP status code according to this  mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
             &quot;percentage&quot;: 3.14, # The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.
                 # The value must be between 0.0 and 100.0 inclusive.
           },
@@ -1390,7 +1390,7 @@
             &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
             &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
           },
-          &quot;retryConditions&quot;: [ # Specfies one or more conditions when this retry rule applies. Valid values are:
+          &quot;retryConditions&quot;: [ # Specifies one or more conditions when this retry rule applies. Valid values are:
               # - 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, or if the backend service does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams.
               # - gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.
               # -
@@ -1552,10 +1552,10 @@
             },
             &quot;faultInjectionPolicy&quot;: { # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests. # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests.
                 # timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy.
-                # Not supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true.
               &quot;abort&quot;: { # Specification for how requests are aborted as part of fault injection. # The specification for how client requests are aborted as part of fault injection.
                 &quot;httpStatus&quot;: 42, # The HTTP status code used to abort the request.
                     # The value must be between 200 and 599 inclusive.
+                    # For gRPC protocol, the gRPC status code is mapped to HTTP status code according to this  mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
                 &quot;percentage&quot;: 3.14, # The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.
                     # The value must be between 0.0 and 100.0 inclusive.
               },
@@ -1586,7 +1586,7 @@
                 &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
                 &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
               },
-              &quot;retryConditions&quot;: [ # Specfies one or more conditions when this retry rule applies. Valid values are:
+              &quot;retryConditions&quot;: [ # Specifies one or more conditions when this retry rule applies. Valid values are:
                   # - 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, or if the backend service does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams.
                   # - gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.
                   # -
@@ -1846,10 +1846,10 @@
             },
             &quot;faultInjectionPolicy&quot;: { # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests. # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests.
                 # timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy.
-                # Not supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true.
               &quot;abort&quot;: { # Specification for how requests are aborted as part of fault injection. # The specification for how client requests are aborted as part of fault injection.
                 &quot;httpStatus&quot;: 42, # The HTTP status code used to abort the request.
                     # The value must be between 200 and 599 inclusive.
+                    # For gRPC protocol, the gRPC status code is mapped to HTTP status code according to this  mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
                 &quot;percentage&quot;: 3.14, # The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.
                     # The value must be between 0.0 and 100.0 inclusive.
               },
@@ -1880,7 +1880,7 @@
                 &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
                 &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
               },
-              &quot;retryConditions&quot;: [ # Specfies one or more conditions when this retry rule applies. Valid values are:
+              &quot;retryConditions&quot;: [ # Specifies one or more conditions when this retry rule applies. Valid values are:
                   # - 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, or if the backend service does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams.
                   # - gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.
                   # -
@@ -2232,10 +2232,10 @@
         },
         &quot;faultInjectionPolicy&quot;: { # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests. # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests.
             # timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy.
-            # Not supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true.
           &quot;abort&quot;: { # Specification for how requests are aborted as part of fault injection. # The specification for how client requests are aborted as part of fault injection.
             &quot;httpStatus&quot;: 42, # The HTTP status code used to abort the request.
                 # The value must be between 200 and 599 inclusive.
+                # For gRPC protocol, the gRPC status code is mapped to HTTP status code according to this  mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
             &quot;percentage&quot;: 3.14, # The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.
                 # The value must be between 0.0 and 100.0 inclusive.
           },
@@ -2266,7 +2266,7 @@
             &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
             &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
           },
-          &quot;retryConditions&quot;: [ # Specfies one or more conditions when this retry rule applies. Valid values are:
+          &quot;retryConditions&quot;: [ # Specifies one or more conditions when this retry rule applies. Valid values are:
               # - 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, or if the backend service does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams.
               # - gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.
               # -
@@ -2433,10 +2433,10 @@
             },
             &quot;faultInjectionPolicy&quot;: { # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests. # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests.
                 # timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy.
-                # Not supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true.
               &quot;abort&quot;: { # Specification for how requests are aborted as part of fault injection. # The specification for how client requests are aborted as part of fault injection.
                 &quot;httpStatus&quot;: 42, # The HTTP status code used to abort the request.
                     # The value must be between 200 and 599 inclusive.
+                    # For gRPC protocol, the gRPC status code is mapped to HTTP status code according to this  mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
                 &quot;percentage&quot;: 3.14, # The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.
                     # The value must be between 0.0 and 100.0 inclusive.
               },
@@ -2467,7 +2467,7 @@
                 &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
                 &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
               },
-              &quot;retryConditions&quot;: [ # Specfies one or more conditions when this retry rule applies. Valid values are:
+              &quot;retryConditions&quot;: [ # Specifies one or more conditions when this retry rule applies. Valid values are:
                   # - 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, or if the backend service does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams.
                   # - gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.
                   # -
@@ -2629,10 +2629,10 @@
                 },
                 &quot;faultInjectionPolicy&quot;: { # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests. # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests.
                     # timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy.
-                    # Not supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true.
                   &quot;abort&quot;: { # Specification for how requests are aborted as part of fault injection. # The specification for how client requests are aborted as part of fault injection.
                     &quot;httpStatus&quot;: 42, # The HTTP status code used to abort the request.
                         # The value must be between 200 and 599 inclusive.
+                        # For gRPC protocol, the gRPC status code is mapped to HTTP status code according to this  mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
                     &quot;percentage&quot;: 3.14, # The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.
                         # The value must be between 0.0 and 100.0 inclusive.
                   },
@@ -2663,7 +2663,7 @@
                     &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
                     &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
                   },
-                  &quot;retryConditions&quot;: [ # Specfies one or more conditions when this retry rule applies. Valid values are:
+                  &quot;retryConditions&quot;: [ # Specifies one or more conditions when this retry rule applies. Valid values are:
                       # - 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, or if the backend service does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams.
                       # - gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.
                       # -
@@ -2923,10 +2923,10 @@
                 },
                 &quot;faultInjectionPolicy&quot;: { # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests. # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests.
                     # timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy.
-                    # Not supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true.
                   &quot;abort&quot;: { # Specification for how requests are aborted as part of fault injection. # The specification for how client requests are aborted as part of fault injection.
                     &quot;httpStatus&quot;: 42, # The HTTP status code used to abort the request.
                         # The value must be between 200 and 599 inclusive.
+                        # For gRPC protocol, the gRPC status code is mapped to HTTP status code according to this  mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
                     &quot;percentage&quot;: 3.14, # The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.
                         # The value must be between 0.0 and 100.0 inclusive.
                   },
@@ -2957,7 +2957,7 @@
                     &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
                     &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
                   },
-                  &quot;retryConditions&quot;: [ # Specfies one or more conditions when this retry rule applies. Valid values are:
+                  &quot;retryConditions&quot;: [ # Specifies one or more conditions when this retry rule applies. Valid values are:
                       # - 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, or if the backend service does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams.
                       # - gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.
                       # -
@@ -3170,10 +3170,10 @@
     },
     &quot;faultInjectionPolicy&quot;: { # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests. # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests.
         # timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy.
-        # Not supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true.
       &quot;abort&quot;: { # Specification for how requests are aborted as part of fault injection. # The specification for how client requests are aborted as part of fault injection.
         &quot;httpStatus&quot;: 42, # The HTTP status code used to abort the request.
             # The value must be between 200 and 599 inclusive.
+            # For gRPC protocol, the gRPC status code is mapped to HTTP status code according to this  mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
         &quot;percentage&quot;: 3.14, # The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.
             # The value must be between 0.0 and 100.0 inclusive.
       },
@@ -3204,7 +3204,7 @@
         &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
         &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
       },
-      &quot;retryConditions&quot;: [ # Specfies one or more conditions when this retry rule applies. Valid values are:
+      &quot;retryConditions&quot;: [ # Specifies one or more conditions when this retry rule applies. Valid values are:
           # - 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, or if the backend service does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams.
           # - gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.
           # -
@@ -3371,10 +3371,10 @@
         },
         &quot;faultInjectionPolicy&quot;: { # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests. # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests.
             # timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy.
-            # Not supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true.
           &quot;abort&quot;: { # Specification for how requests are aborted as part of fault injection. # The specification for how client requests are aborted as part of fault injection.
             &quot;httpStatus&quot;: 42, # The HTTP status code used to abort the request.
                 # The value must be between 200 and 599 inclusive.
+                # For gRPC protocol, the gRPC status code is mapped to HTTP status code according to this  mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
             &quot;percentage&quot;: 3.14, # The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.
                 # The value must be between 0.0 and 100.0 inclusive.
           },
@@ -3405,7 +3405,7 @@
             &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
             &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
           },
-          &quot;retryConditions&quot;: [ # Specfies one or more conditions when this retry rule applies. Valid values are:
+          &quot;retryConditions&quot;: [ # Specifies one or more conditions when this retry rule applies. Valid values are:
               # - 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, or if the backend service does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams.
               # - gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.
               # -
@@ -3567,10 +3567,10 @@
             },
             &quot;faultInjectionPolicy&quot;: { # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests. # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests.
                 # timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy.
-                # Not supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true.
               &quot;abort&quot;: { # Specification for how requests are aborted as part of fault injection. # The specification for how client requests are aborted as part of fault injection.
                 &quot;httpStatus&quot;: 42, # The HTTP status code used to abort the request.
                     # The value must be between 200 and 599 inclusive.
+                    # For gRPC protocol, the gRPC status code is mapped to HTTP status code according to this  mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
                 &quot;percentage&quot;: 3.14, # The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.
                     # The value must be between 0.0 and 100.0 inclusive.
               },
@@ -3601,7 +3601,7 @@
                 &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
                 &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
               },
-              &quot;retryConditions&quot;: [ # Specfies one or more conditions when this retry rule applies. Valid values are:
+              &quot;retryConditions&quot;: [ # Specifies one or more conditions when this retry rule applies. Valid values are:
                   # - 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, or if the backend service does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams.
                   # - gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.
                   # -
@@ -3861,10 +3861,10 @@
             },
             &quot;faultInjectionPolicy&quot;: { # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests. # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests.
                 # timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy.
-                # Not supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true.
               &quot;abort&quot;: { # Specification for how requests are aborted as part of fault injection. # The specification for how client requests are aborted as part of fault injection.
                 &quot;httpStatus&quot;: 42, # The HTTP status code used to abort the request.
                     # The value must be between 200 and 599 inclusive.
+                    # For gRPC protocol, the gRPC status code is mapped to HTTP status code according to this  mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
                 &quot;percentage&quot;: 3.14, # The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.
                     # The value must be between 0.0 and 100.0 inclusive.
               },
@@ -3895,7 +3895,7 @@
                 &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
                 &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
               },
-              &quot;retryConditions&quot;: [ # Specfies one or more conditions when this retry rule applies. Valid values are:
+              &quot;retryConditions&quot;: [ # Specifies one or more conditions when this retry rule applies. Valid values are:
                   # - 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, or if the backend service does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams.
                   # - gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.
                   # -
@@ -4172,10 +4172,10 @@
     },
     &quot;faultInjectionPolicy&quot;: { # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests. # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests.
         # timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy.
-        # Not supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true.
       &quot;abort&quot;: { # Specification for how requests are aborted as part of fault injection. # The specification for how client requests are aborted as part of fault injection.
         &quot;httpStatus&quot;: 42, # The HTTP status code used to abort the request.
             # The value must be between 200 and 599 inclusive.
+            # For gRPC protocol, the gRPC status code is mapped to HTTP status code according to this  mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
         &quot;percentage&quot;: 3.14, # The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.
             # The value must be between 0.0 and 100.0 inclusive.
       },
@@ -4206,7 +4206,7 @@
         &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
         &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
       },
-      &quot;retryConditions&quot;: [ # Specfies one or more conditions when this retry rule applies. Valid values are:
+      &quot;retryConditions&quot;: [ # Specifies one or more conditions when this retry rule applies. Valid values are:
           # - 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, or if the backend service does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams.
           # - gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.
           # -
@@ -4373,10 +4373,10 @@
         },
         &quot;faultInjectionPolicy&quot;: { # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests. # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests.
             # timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy.
-            # Not supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true.
           &quot;abort&quot;: { # Specification for how requests are aborted as part of fault injection. # The specification for how client requests are aborted as part of fault injection.
             &quot;httpStatus&quot;: 42, # The HTTP status code used to abort the request.
                 # The value must be between 200 and 599 inclusive.
+                # For gRPC protocol, the gRPC status code is mapped to HTTP status code according to this  mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
             &quot;percentage&quot;: 3.14, # The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.
                 # The value must be between 0.0 and 100.0 inclusive.
           },
@@ -4407,7 +4407,7 @@
             &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
             &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
           },
-          &quot;retryConditions&quot;: [ # Specfies one or more conditions when this retry rule applies. Valid values are:
+          &quot;retryConditions&quot;: [ # Specifies one or more conditions when this retry rule applies. Valid values are:
               # - 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, or if the backend service does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams.
               # - gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.
               # -
@@ -4569,10 +4569,10 @@
             },
             &quot;faultInjectionPolicy&quot;: { # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests. # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests.
                 # timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy.
-                # Not supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true.
               &quot;abort&quot;: { # Specification for how requests are aborted as part of fault injection. # The specification for how client requests are aborted as part of fault injection.
                 &quot;httpStatus&quot;: 42, # The HTTP status code used to abort the request.
                     # The value must be between 200 and 599 inclusive.
+                    # For gRPC protocol, the gRPC status code is mapped to HTTP status code according to this  mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
                 &quot;percentage&quot;: 3.14, # The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.
                     # The value must be between 0.0 and 100.0 inclusive.
               },
@@ -4603,7 +4603,7 @@
                 &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
                 &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
               },
-              &quot;retryConditions&quot;: [ # Specfies one or more conditions when this retry rule applies. Valid values are:
+              &quot;retryConditions&quot;: [ # Specifies one or more conditions when this retry rule applies. Valid values are:
                   # - 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, or if the backend service does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams.
                   # - gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.
                   # -
@@ -4863,10 +4863,10 @@
             },
             &quot;faultInjectionPolicy&quot;: { # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests. # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests.
                 # timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy.
-                # Not supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true.
               &quot;abort&quot;: { # Specification for how requests are aborted as part of fault injection. # The specification for how client requests are aborted as part of fault injection.
                 &quot;httpStatus&quot;: 42, # The HTTP status code used to abort the request.
                     # The value must be between 200 and 599 inclusive.
+                    # For gRPC protocol, the gRPC status code is mapped to HTTP status code according to this  mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
                 &quot;percentage&quot;: 3.14, # The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.
                     # The value must be between 0.0 and 100.0 inclusive.
               },
@@ -4897,7 +4897,7 @@
                 &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
                 &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
               },
-              &quot;retryConditions&quot;: [ # Specfies one or more conditions when this retry rule applies. Valid values are:
+              &quot;retryConditions&quot;: [ # Specifies one or more conditions when this retry rule applies. Valid values are:
                   # - 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, or if the backend service does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams.
                   # - gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.
                   # -
@@ -5147,10 +5147,10 @@
       },
       &quot;faultInjectionPolicy&quot;: { # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests. # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests.
           # timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy.
-          # Not supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true.
         &quot;abort&quot;: { # Specification for how requests are aborted as part of fault injection. # The specification for how client requests are aborted as part of fault injection.
           &quot;httpStatus&quot;: 42, # The HTTP status code used to abort the request.
               # The value must be between 200 and 599 inclusive.
+              # For gRPC protocol, the gRPC status code is mapped to HTTP status code according to this  mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
           &quot;percentage&quot;: 3.14, # The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.
               # The value must be between 0.0 and 100.0 inclusive.
         },
@@ -5181,7 +5181,7 @@
           &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
           &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
         },
-        &quot;retryConditions&quot;: [ # Specfies one or more conditions when this retry rule applies. Valid values are:
+        &quot;retryConditions&quot;: [ # Specifies one or more conditions when this retry rule applies. Valid values are:
             # - 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, or if the backend service does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams.
             # - gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.
             # -
@@ -5348,10 +5348,10 @@
           },
           &quot;faultInjectionPolicy&quot;: { # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests. # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests.
               # timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy.
-              # Not supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true.
             &quot;abort&quot;: { # Specification for how requests are aborted as part of fault injection. # The specification for how client requests are aborted as part of fault injection.
               &quot;httpStatus&quot;: 42, # The HTTP status code used to abort the request.
                   # The value must be between 200 and 599 inclusive.
+                  # For gRPC protocol, the gRPC status code is mapped to HTTP status code according to this  mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
               &quot;percentage&quot;: 3.14, # The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.
                   # The value must be between 0.0 and 100.0 inclusive.
             },
@@ -5382,7 +5382,7 @@
               &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
               &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
             },
-            &quot;retryConditions&quot;: [ # Specfies one or more conditions when this retry rule applies. Valid values are:
+            &quot;retryConditions&quot;: [ # Specifies one or more conditions when this retry rule applies. Valid values are:
                 # - 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, or if the backend service does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams.
                 # - gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.
                 # -
@@ -5544,10 +5544,10 @@
               },
               &quot;faultInjectionPolicy&quot;: { # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests. # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests.
                   # timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy.
-                  # Not supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true.
                 &quot;abort&quot;: { # Specification for how requests are aborted as part of fault injection. # The specification for how client requests are aborted as part of fault injection.
                   &quot;httpStatus&quot;: 42, # The HTTP status code used to abort the request.
                       # The value must be between 200 and 599 inclusive.
+                      # For gRPC protocol, the gRPC status code is mapped to HTTP status code according to this  mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
                   &quot;percentage&quot;: 3.14, # The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.
                       # The value must be between 0.0 and 100.0 inclusive.
                 },
@@ -5578,7 +5578,7 @@
                   &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
                   &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
                 },
-                &quot;retryConditions&quot;: [ # Specfies one or more conditions when this retry rule applies. Valid values are:
+                &quot;retryConditions&quot;: [ # Specifies one or more conditions when this retry rule applies. Valid values are:
                     # - 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, or if the backend service does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams.
                     # - gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.
                     # -
@@ -5838,10 +5838,10 @@
               },
               &quot;faultInjectionPolicy&quot;: { # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests. # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests.
                   # timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy.
-                  # Not supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true.
                 &quot;abort&quot;: { # Specification for how requests are aborted as part of fault injection. # The specification for how client requests are aborted as part of fault injection.
                   &quot;httpStatus&quot;: 42, # The HTTP status code used to abort the request.
                       # The value must be between 200 and 599 inclusive.
+                      # For gRPC protocol, the gRPC status code is mapped to HTTP status code according to this  mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
                   &quot;percentage&quot;: 3.14, # The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.
                       # The value must be between 0.0 and 100.0 inclusive.
                 },
@@ -5872,7 +5872,7 @@
                   &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
                   &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
                 },
-                &quot;retryConditions&quot;: [ # Specfies one or more conditions when this retry rule applies. Valid values are:
+                &quot;retryConditions&quot;: [ # Specifies one or more conditions when this retry rule applies. Valid values are:
                     # - 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, or if the backend service does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams.
                     # - gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.
                     # -
diff --git a/docs/dyn/compute_alpha.reservations.html b/docs/dyn/compute_alpha.reservations.html
index a2d6221..6646863 100644
--- a/docs/dyn/compute_alpha.reservations.html
+++ b/docs/dyn/compute_alpha.reservations.html
@@ -152,7 +152,7 @@
           &quot;satisfiesPzs&quot;: True or False, # [Output Only] Reserved for future use.
           &quot;selfLink&quot;: &quot;A String&quot;, # [Output Only] Server-defined fully-qualified URL for this resource.
           &quot;selfLinkWithId&quot;: &quot;A String&quot;, # [Output Only] Server-defined URL for this resource with the resource id.
-          &quot;shareSettings&quot;: { # Share-settings for shared-reservation
+          &quot;shareSettings&quot;: { # The share setting for reservations and sole tenancy node groups. # Share-settings for shared-reservation
             &quot;projects&quot;: [ # A List of Project names to specify consumer projects for this shared-reservation. This is only valid when share_type&#x27;s value is SPECIFIC_PROJECTS.
               &quot;A String&quot;,
             ],
@@ -339,7 +339,7 @@
   &quot;satisfiesPzs&quot;: True or False, # [Output Only] Reserved for future use.
   &quot;selfLink&quot;: &quot;A String&quot;, # [Output Only] Server-defined fully-qualified URL for this resource.
   &quot;selfLinkWithId&quot;: &quot;A String&quot;, # [Output Only] Server-defined URL for this resource with the resource id.
-  &quot;shareSettings&quot;: { # Share-settings for shared-reservation
+  &quot;shareSettings&quot;: { # The share setting for reservations and sole tenancy node groups. # Share-settings for shared-reservation
     &quot;projects&quot;: [ # A List of Project names to specify consumer projects for this shared-reservation. This is only valid when share_type&#x27;s value is SPECIFIC_PROJECTS.
       &quot;A String&quot;,
     ],
@@ -591,7 +591,7 @@
   &quot;satisfiesPzs&quot;: True or False, # [Output Only] Reserved for future use.
   &quot;selfLink&quot;: &quot;A String&quot;, # [Output Only] Server-defined fully-qualified URL for this resource.
   &quot;selfLinkWithId&quot;: &quot;A String&quot;, # [Output Only] Server-defined URL for this resource with the resource id.
-  &quot;shareSettings&quot;: { # Share-settings for shared-reservation
+  &quot;shareSettings&quot;: { # The share setting for reservations and sole tenancy node groups. # Share-settings for shared-reservation
     &quot;projects&quot;: [ # A List of Project names to specify consumer projects for this shared-reservation. This is only valid when share_type&#x27;s value is SPECIFIC_PROJECTS.
       &quot;A String&quot;,
     ],
@@ -735,7 +735,7 @@
       &quot;satisfiesPzs&quot;: True or False, # [Output Only] Reserved for future use.
       &quot;selfLink&quot;: &quot;A String&quot;, # [Output Only] Server-defined fully-qualified URL for this resource.
       &quot;selfLinkWithId&quot;: &quot;A String&quot;, # [Output Only] Server-defined URL for this resource with the resource id.
-      &quot;shareSettings&quot;: { # Share-settings for shared-reservation
+      &quot;shareSettings&quot;: { # The share setting for reservations and sole tenancy node groups. # Share-settings for shared-reservation
         &quot;projects&quot;: [ # A List of Project names to specify consumer projects for this shared-reservation. This is only valid when share_type&#x27;s value is SPECIFIC_PROJECTS.
           &quot;A String&quot;,
         ],
diff --git a/docs/dyn/compute_alpha.securityPolicies.html b/docs/dyn/compute_alpha.securityPolicies.html
index eea40e7..2bc9791 100644
--- a/docs/dyn/compute_alpha.securityPolicies.html
+++ b/docs/dyn/compute_alpha.securityPolicies.html
@@ -78,6 +78,12 @@
   <code><a href="#addRule">addRule(project, securityPolicy, body=None, validateOnly=None)</a></code></p>
 <p class="firstline">Inserts a rule into a security policy.</p>
 <p class="toc_element">
+  <code><a href="#aggregatedList">aggregatedList(project, filter=None, includeAllScopes=None, maxResults=None, orderBy=None, pageToken=None, returnPartialSuccess=None)</a></code></p>
+<p class="firstline">Retrieves the list of all SecurityPolicy resources, regional and global, available to the specified project.</p>
+<p class="toc_element">
+  <code><a href="#aggregatedList_next">aggregatedList_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="#close">close()</a></code></p>
 <p class="firstline">Close httplib2 connections.</p>
 <p class="toc_element">
@@ -305,6 +311,242 @@
 </div>
 
 <div class="method">
+    <code class="details" id="aggregatedList">aggregatedList(project, filter=None, includeAllScopes=None, maxResults=None, orderBy=None, pageToken=None, returnPartialSuccess=None)</code>
+  <pre>Retrieves the list of all SecurityPolicy resources, regional and global, available to the specified project.
+
+Args:
+  project: string, Name of the project scoping this request. (required)
+  filter: string, A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `&gt;`, or `&lt;`.
+
+For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.
+
+You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels.
+
+To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = &quot;Intel Skylake&quot;) ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = &quot;Intel Skylake&quot;) OR (cpuPlatform = &quot;Intel Broadwell&quot;) AND (scheduling.automaticRestart = true) ```
+  includeAllScopes: boolean, Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.
+  maxResults: integer, The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)
+  orderBy: string, Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.
+
+You can also sort results in descending order based on the creation timestamp using `orderBy=&quot;creationTimestamp desc&quot;`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first.
+
+Currently, only sorting by `name` or `creationTimestamp desc` is supported.
+  pageToken: string, Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.
+  returnPartialSuccess: boolean, Opt-in for partial success behavior which provides partial results in case of failure. The default value is false.
+
+Returns:
+  An object of the form:
+
+    {
+  &quot;etag&quot;: &quot;A String&quot;,
+  &quot;id&quot;: &quot;A String&quot;, # [Output Only] Unique identifier for the resource; defined by the server.
+  &quot;items&quot;: { # A list of SecurityPoliciesScopedList resources.
+    &quot;a_key&quot;: { # Name of the scope containing this set of security policies.
+      &quot;securityPolicies&quot;: [ # A list of SecurityPolicies contained in this scope.
+        { # Represents a Google Cloud Armor security policy resource.
+            #
+            # Only external backend services that use load balancers can reference a security policy. For more information, see  Google Cloud Armor security policy overview. (== resource_for {$api_version}.securityPolicies ==)
+          &quot;adaptiveProtectionConfig&quot;: { # Configuration options for Cloud Armor Adaptive Protection (CAAP).
+            &quot;layer7DdosDefenseConfig&quot;: { # Configuration options for L7 DDoS detection. # If set to true, enables Cloud Armor Machine Learning.
+              &quot;enable&quot;: True or False, # If set to true, enables CAAP for L7 DDoS detection.
+              &quot;ruleVisibility&quot;: &quot;A String&quot;, # Rule visibility can be one of the following: STANDARD - opaque rules. (default) PREMIUM - transparent rules.
+            },
+          },
+          &quot;associations&quot;: [ # A list of associations that belong to this policy.
+            {
+              &quot;attachmentId&quot;: &quot;A String&quot;, # The resource that the security policy is attached to.
+              &quot;displayName&quot;: &quot;A String&quot;, # [Output Only] The display name of the security policy of the association.
+              &quot;name&quot;: &quot;A String&quot;, # The name for an association.
+              &quot;securityPolicyId&quot;: &quot;A String&quot;, # [Output Only] The security policy ID of the association.
+            },
+          ],
+          &quot;cloudArmorConfig&quot;: { # Configuration options for Cloud Armor.
+            &quot;enableMl&quot;: True or False, # If set to true, enables Cloud Armor Machine Learning.
+          },
+          &quot;creationTimestamp&quot;: &quot;A String&quot;, # [Output Only] Creation timestamp in RFC3339 text format.
+          &quot;ddosProtectionConfig&quot;: {
+            &quot;ddosProtection&quot;: &quot;A String&quot;,
+          },
+          &quot;description&quot;: &quot;A String&quot;, # An optional description of this resource. Provide this property when you create the resource.
+          &quot;displayName&quot;: &quot;A String&quot;, # User-provided name of the Organization security plicy. The name should be unique in the organization in which the security policy is created. This should only be used when SecurityPolicyType is FIREWALL. The name must be 1-63 characters long, and comply with https://www.ietf.org/rfc/rfc1035.txt. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
+          &quot;fingerprint&quot;: &quot;A String&quot;, # Specifies a fingerprint for this resource, which is essentially a hash of the metadata&#x27;s contents and used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update metadata. You must always provide an up-to-date fingerprint hash in order to update or change metadata, otherwise the request will fail with error 412 conditionNotMet.
+              #
+              # To see the latest fingerprint, make get() request to the security policy.
+          &quot;id&quot;: &quot;A String&quot;, # [Output Only] The unique identifier for the resource. This identifier is defined by the server.
+          &quot;kind&quot;: &quot;compute#securityPolicy&quot;, # [Output only] Type of the resource. Always compute#securityPolicyfor security policies
+          &quot;labelFingerprint&quot;: &quot;A String&quot;, # A fingerprint for the labels being applied to this security policy, which is essentially a hash of the labels set used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update labels. You must always provide an up-to-date fingerprint hash in order to update or change labels.
+              #
+              # To see the latest fingerprint, make get() request to the security policy.
+          &quot;labels&quot;: { # Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty.
+            &quot;a_key&quot;: &quot;A String&quot;,
+          },
+          &quot;name&quot;: &quot;A String&quot;, # Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
+          &quot;parent&quot;: &quot;A String&quot;, # [Output Only] The parent of the security policy.
+          &quot;region&quot;: &quot;A String&quot;, # [Output Only] URL of the region where the regional security policy resides. This field is not applicable to global security policies.
+          &quot;ruleTupleCount&quot;: 42, # [Output Only] Total count of all security policy rule tuples. A security policy can not exceed a set number of tuples.
+          &quot;rules&quot;: [ # A list of rules that belong to this policy. There must always be a default rule (rule with priority 2147483647 and match &quot;*&quot;). If no rules are provided when creating a security policy, a default rule with action &quot;allow&quot; will be added.
+            { # Represents a rule that describes one or more match conditions along with the action to be taken when traffic matches this condition (allow or deny).
+              &quot;action&quot;: &quot;A String&quot;, # The Action to perform when the client connection triggers the rule. Can currently be either &quot;allow&quot; or &quot;deny()&quot; where valid values for status are 403, 404, and 502.
+              &quot;description&quot;: &quot;A String&quot;, # An optional description of this resource. Provide this property when you create the resource.
+              &quot;direction&quot;: &quot;A String&quot;, # The direction in which this rule applies. This field may only be specified when versioned_expr is set to FIREWALL.
+              &quot;enableLogging&quot;: True or False, # Denotes whether to enable logging for a particular rule. If logging is enabled, logs will be exported to the configured export destination in Stackdriver. Logs may be exported to BigQuery or Pub/Sub. Note: you cannot enable logging on &quot;goto_next&quot; rules.
+                  #
+                  # This field may only be specified when the versioned_expr is set to FIREWALL.
+              &quot;headerAction&quot;: { # Optional, additional actions that are performed on headers.
+                &quot;requestHeadersToAdds&quot;: [ # The list of request headers to add or overwrite if they&#x27;re already present.
+                  {
+                    &quot;headerName&quot;: &quot;A String&quot;, # The name of the header to set.
+                    &quot;headerValue&quot;: &quot;A String&quot;, # The value to set the named header to.
+                  },
+                ],
+              },
+              &quot;kind&quot;: &quot;compute#securityPolicyRule&quot;, # [Output only] Type of the resource. Always compute#securityPolicyRule for security policy rules
+              &quot;match&quot;: { # Represents a match condition that incoming traffic is evaluated against. Exactly one field must be specified. # A match condition that incoming traffic is evaluated against. If it evaluates to true, the corresponding &#x27;action&#x27; is enforced.
+                &quot;config&quot;: { # The configuration options available when specifying versioned_expr. This field must be specified if versioned_expr is specified and cannot be specified if versioned_expr is not specified.
+                  &quot;destIpRanges&quot;: [ # CIDR IP address range.
+                      #
+                      # This field may only be specified when versioned_expr is set to FIREWALL.
+                    &quot;A String&quot;,
+                  ],
+                  &quot;destPorts&quot;: [ # Pairs of IP protocols and ports that the rule should match.
+                      #
+                      # This field may only be specified when versioned_expr is set to FIREWALL.
+                    {
+                      &quot;ipProtocol&quot;: &quot;A String&quot;, # The IP protocol to which this rule applies. The protocol type is required when creating a firewall rule. This value can either be one of the following well known protocol strings (tcp, udp, icmp, esp, ah, ipip, sctp), or the IP protocol number.
+                      &quot;ports&quot;: [ # An optional list of ports to which this rule applies. This field is only applicable for UDP or TCP protocol. Each entry must be either an integer or a range. If not specified, this rule applies to connections through any port.
+                          #
+                          # Example inputs include: [&quot;22&quot;], [&quot;80&quot;,&quot;443&quot;], and [&quot;12345-12349&quot;].
+                          #
+                          # This field may only be specified when versioned_expr is set to FIREWALL.
+                        &quot;A String&quot;,
+                      ],
+                    },
+                  ],
+                  &quot;layer4Configs&quot;: [ # Pairs of IP protocols and ports that the rule should match.
+                      #
+                      # This field may only be specified when versioned_expr is set to FIREWALL.
+                    {
+                      &quot;ipProtocol&quot;: &quot;A String&quot;, # The IP protocol to which this rule applies. The protocol type is required when creating a firewall rule. This value can either be one of the following well known protocol strings (tcp, udp, icmp, esp, ah, ipip, sctp), or the IP protocol number.
+                      &quot;ports&quot;: [ # An optional list of ports to which this rule applies. This field is only applicable for UDP or TCP protocol. Each entry must be either an integer or a range. If not specified, this rule applies to connections through any port.
+                          #
+                          # Example inputs include: [&quot;22&quot;], [&quot;80&quot;,&quot;443&quot;], and [&quot;12345-12349&quot;].
+                          #
+                          # This field may only be specified when versioned_expr is set to FIREWALL.
+                        &quot;A String&quot;,
+                      ],
+                    },
+                  ],
+                  &quot;srcIpRanges&quot;: [ # CIDR IP address range. Maximum number of src_ip_ranges allowed is 10.
+                    &quot;A String&quot;,
+                  ],
+                },
+                &quot;expr&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. # User defined CEVAL expression. A CEVAL expression is used to specify match criteria such as origin.ip, source.region_code and contents in the request header.
+                    #
+                    # 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.
+                  &quot;description&quot;: &quot;A String&quot;, # Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.
+                  &quot;expression&quot;: &quot;A String&quot;, # Textual representation of an expression in Common Expression Language syntax.
+                  &quot;location&quot;: &quot;A String&quot;, # Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file.
+                  &quot;title&quot;: &quot;A String&quot;, # Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression.
+                },
+                &quot;versionedExpr&quot;: &quot;A String&quot;, # Preconfigured versioned expression. If this field is specified, config must also be specified. Available preconfigured expressions along with their requirements are: SRC_IPS_V1 - must specify the corresponding src_ip_range field in config.
+              },
+              &quot;preview&quot;: True or False, # If set to true, the specified action is not enforced.
+              &quot;priority&quot;: 42, # An integer indicating the priority of a rule in the list. The priority must be a positive value between 0 and 2147483647. Rules are evaluated from highest to lowest priority where 0 is the highest priority and 2147483647 is the lowest priority.
+              &quot;rateLimitOptions&quot;: { # Must be specified if the action is &quot;rate_based_ban&quot; or &quot;throttle&quot;. Cannot be specified for any other actions.
+                &quot;banDurationSec&quot;: 42, # Can only be specified if the action for the rule is &quot;rate_based_ban&quot;. If specified, determines the time (in seconds) the traffic will continue to be banned by the rate limit after the rate falls below the threshold.
+                &quot;banThreshold&quot;: { # Can only be specified if the action for the rule is &quot;rate_based_ban&quot;. If specified, the key will be banned for the configured &#x27;ban_duration_sec&#x27; when the number of requests that exceed the &#x27;rate_limit_threshold&#x27; also exceed this &#x27;ban_threshold&#x27;.
+                  &quot;count&quot;: 42, # Number of HTTP(S) requests for calculating the threshold.
+                  &quot;intervalSec&quot;: 42, # Interval over which the threshold is computed.
+                },
+                &quot;conformAction&quot;: &quot;A String&quot;, # Action to take when requests are under the given threshold. When requests are throttled, this is also the action for all requests which are not dropped. Valid options are &quot;allow&quot;, &quot;fairshare&quot;, and &quot;drop_overload&quot;.
+                &quot;enforceOnKey&quot;: &quot;A String&quot;, # Determines the key to enforce the threshold_rps limit on. If key is &quot;IP&quot;, each IP has this limit enforced separately, whereas &quot;ALL_IPs&quot; means a single limit is applied to all requests matching this rule.
+                &quot;exceedAction&quot;: &quot;A String&quot;, # When a request is denied, returns the HTTP response code specified. Valid options are &quot;deny()&quot; where valid values for status are 403, 404, 429, and 502.
+                &quot;rateLimitThreshold&quot;: { # Threshold at which to begin ratelimiting.
+                  &quot;count&quot;: 42, # Number of HTTP(S) requests for calculating the threshold.
+                  &quot;intervalSec&quot;: 42, # Interval over which the threshold is computed.
+                },
+              },
+              &quot;redirectTarget&quot;: &quot;A String&quot;, # This must be specified for redirect actions. Cannot be specified for any other actions.
+              &quot;ruleNumber&quot;: &quot;A String&quot;, # Identifier for the rule. This is only unique within the given security policy. This can only be set during rule creation, if rule number is not specified it will be generated by the server.
+              &quot;ruleTupleCount&quot;: 42, # [Output Only] Calculation of the complexity of a single firewall security policy rule.
+              &quot;targetResources&quot;: [ # A list of network resource URLs to which this rule applies. This field allows you to control which network&#x27;s VMs get this rule. If this field is left blank, all VMs within the organization will receive the rule.
+                  #
+                  # This field may only be specified when versioned_expr is set to FIREWALL.
+                &quot;A String&quot;,
+              ],
+              &quot;targetServiceAccounts&quot;: [ # A list of service accounts indicating the sets of instances that are applied with this rule.
+                &quot;A String&quot;,
+              ],
+            },
+          ],
+          &quot;selfLink&quot;: &quot;A String&quot;, # [Output Only] Server-defined URL for the resource.
+          &quot;selfLinkWithId&quot;: &quot;A String&quot;, # [Output Only] Server-defined URL for this resource with the resource id.
+          &quot;type&quot;: &quot;A String&quot;, # The type indicates the intended use of the security policy. CLOUD_ARMOR policies apply to backend services. FIREWALL policies apply to organizations.
+        },
+      ],
+      &quot;warning&quot;: { # Informational warning which replaces the list of security policies when the list is empty.
+        &quot;code&quot;: &quot;A String&quot;, # [Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.
+        &quot;data&quot;: [ # [Output Only] Metadata about this warning in key: value format. For example:
+            # &quot;data&quot;: [ { &quot;key&quot;: &quot;scope&quot;, &quot;value&quot;: &quot;zones/us-east1-d&quot; }
+          {
+            &quot;key&quot;: &quot;A String&quot;, # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).
+            &quot;value&quot;: &quot;A String&quot;, # [Output Only] A warning data value corresponding to the key.
+          },
+        ],
+        &quot;message&quot;: &quot;A String&quot;, # [Output Only] A human-readable description of the warning code.
+      },
+    },
+  },
+  &quot;kind&quot;: &quot;compute#securityPoliciesAggregatedList&quot;, # [Output Only] Type of resource. Always compute#securityPolicyAggregatedList for lists of Security Policies.
+  &quot;nextPageToken&quot;: &quot;A String&quot;, # [Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.
+  &quot;selfLink&quot;: &quot;A String&quot;, # [Output Only] Server-defined URL for this resource.
+  &quot;unreachables&quot;: [ # [Output Only] Unreachable resources.
+    &quot;A String&quot;,
+  ],
+  &quot;warning&quot;: { # [Output Only] Informational warning message.
+    &quot;code&quot;: &quot;A String&quot;, # [Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.
+    &quot;data&quot;: [ # [Output Only] Metadata about this warning in key: value format. For example:
+        # &quot;data&quot;: [ { &quot;key&quot;: &quot;scope&quot;, &quot;value&quot;: &quot;zones/us-east1-d&quot; }
+      {
+        &quot;key&quot;: &quot;A String&quot;, # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).
+        &quot;value&quot;: &quot;A String&quot;, # [Output Only] A warning data value corresponding to the key.
+      },
+    ],
+    &quot;message&quot;: &quot;A String&quot;, # [Output Only] A human-readable description of the warning code.
+  },
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="aggregatedList_next">aggregatedList_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="close">close()</code>
   <pre>Close httplib2 connections.</pre>
 </div>
@@ -419,6 +661,9 @@
     &quot;enableMl&quot;: True or False, # If set to true, enables Cloud Armor Machine Learning.
   },
   &quot;creationTimestamp&quot;: &quot;A String&quot;, # [Output Only] Creation timestamp in RFC3339 text format.
+  &quot;ddosProtectionConfig&quot;: {
+    &quot;ddosProtection&quot;: &quot;A String&quot;,
+  },
   &quot;description&quot;: &quot;A String&quot;, # An optional description of this resource. Provide this property when you create the resource.
   &quot;displayName&quot;: &quot;A String&quot;, # User-provided name of the Organization security plicy. The name should be unique in the organization in which the security policy is created. This should only be used when SecurityPolicyType is FIREWALL. The name must be 1-63 characters long, and comply with https://www.ietf.org/rfc/rfc1035.txt. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
   &quot;fingerprint&quot;: &quot;A String&quot;, # Specifies a fingerprint for this resource, which is essentially a hash of the metadata&#x27;s contents and used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update metadata. You must always provide an up-to-date fingerprint hash in order to update or change metadata, otherwise the request will fail with error 412 conditionNotMet.
@@ -434,6 +679,7 @@
   },
   &quot;name&quot;: &quot;A String&quot;, # Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
   &quot;parent&quot;: &quot;A String&quot;, # [Output Only] The parent of the security policy.
+  &quot;region&quot;: &quot;A String&quot;, # [Output Only] URL of the region where the regional security policy resides. This field is not applicable to global security policies.
   &quot;ruleTupleCount&quot;: 42, # [Output Only] Total count of all security policy rule tuples. A security policy can not exceed a set number of tuples.
   &quot;rules&quot;: [ # A list of rules that belong to this policy. There must always be a default rule (rule with priority 2147483647 and match &quot;*&quot;). If no rules are provided when creating a security policy, a default rule with action &quot;allow&quot; will be added.
     { # Represents a rule that describes one or more match conditions along with the action to be taken when traffic matches this condition (allow or deny).
@@ -705,6 +951,9 @@
     &quot;enableMl&quot;: True or False, # If set to true, enables Cloud Armor Machine Learning.
   },
   &quot;creationTimestamp&quot;: &quot;A String&quot;, # [Output Only] Creation timestamp in RFC3339 text format.
+  &quot;ddosProtectionConfig&quot;: {
+    &quot;ddosProtection&quot;: &quot;A String&quot;,
+  },
   &quot;description&quot;: &quot;A String&quot;, # An optional description of this resource. Provide this property when you create the resource.
   &quot;displayName&quot;: &quot;A String&quot;, # User-provided name of the Organization security plicy. The name should be unique in the organization in which the security policy is created. This should only be used when SecurityPolicyType is FIREWALL. The name must be 1-63 characters long, and comply with https://www.ietf.org/rfc/rfc1035.txt. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
   &quot;fingerprint&quot;: &quot;A String&quot;, # Specifies a fingerprint for this resource, which is essentially a hash of the metadata&#x27;s contents and used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update metadata. You must always provide an up-to-date fingerprint hash in order to update or change metadata, otherwise the request will fail with error 412 conditionNotMet.
@@ -720,6 +969,7 @@
   },
   &quot;name&quot;: &quot;A String&quot;, # Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
   &quot;parent&quot;: &quot;A String&quot;, # [Output Only] The parent of the security policy.
+  &quot;region&quot;: &quot;A String&quot;, # [Output Only] URL of the region where the regional security policy resides. This field is not applicable to global security policies.
   &quot;ruleTupleCount&quot;: 42, # [Output Only] Total count of all security policy rule tuples. A security policy can not exceed a set number of tuples.
   &quot;rules&quot;: [ # A list of rules that belong to this policy. There must always be a default rule (rule with priority 2147483647 and match &quot;*&quot;). If no rules are provided when creating a security policy, a default rule with action &quot;allow&quot; will be added.
     { # Represents a rule that describes one or more match conditions along with the action to be taken when traffic matches this condition (allow or deny).
@@ -935,6 +1185,7 @@
   An object of the form:
 
     {
+  &quot;etag&quot;: &quot;A String&quot;,
   &quot;id&quot;: &quot;A String&quot;, # [Output Only] Unique identifier for the resource; defined by the server.
   &quot;items&quot;: [ # A list of SecurityPolicy resources.
     { # Represents a Google Cloud Armor security policy resource.
@@ -958,6 +1209,9 @@
         &quot;enableMl&quot;: True or False, # If set to true, enables Cloud Armor Machine Learning.
       },
       &quot;creationTimestamp&quot;: &quot;A String&quot;, # [Output Only] Creation timestamp in RFC3339 text format.
+      &quot;ddosProtectionConfig&quot;: {
+        &quot;ddosProtection&quot;: &quot;A String&quot;,
+      },
       &quot;description&quot;: &quot;A String&quot;, # An optional description of this resource. Provide this property when you create the resource.
       &quot;displayName&quot;: &quot;A String&quot;, # User-provided name of the Organization security plicy. The name should be unique in the organization in which the security policy is created. This should only be used when SecurityPolicyType is FIREWALL. The name must be 1-63 characters long, and comply with https://www.ietf.org/rfc/rfc1035.txt. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
       &quot;fingerprint&quot;: &quot;A String&quot;, # Specifies a fingerprint for this resource, which is essentially a hash of the metadata&#x27;s contents and used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update metadata. You must always provide an up-to-date fingerprint hash in order to update or change metadata, otherwise the request will fail with error 412 conditionNotMet.
@@ -973,6 +1227,7 @@
       },
       &quot;name&quot;: &quot;A String&quot;, # Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
       &quot;parent&quot;: &quot;A String&quot;, # [Output Only] The parent of the security policy.
+      &quot;region&quot;: &quot;A String&quot;, # [Output Only] URL of the region where the regional security policy resides. This field is not applicable to global security policies.
       &quot;ruleTupleCount&quot;: 42, # [Output Only] Total count of all security policy rule tuples. A security policy can not exceed a set number of tuples.
       &quot;rules&quot;: [ # A list of rules that belong to this policy. There must always be a default rule (rule with priority 2147483647 and match &quot;*&quot;). If no rules are provided when creating a security policy, a default rule with action &quot;allow&quot; will be added.
         { # Represents a rule that describes one or more match conditions along with the action to be taken when traffic matches this condition (allow or deny).
@@ -1092,6 +1347,9 @@
   ],
   &quot;kind&quot;: &quot;compute#securityPolicyList&quot;, # [Output Only] Type of resource. Always compute#securityPolicyList for listsof securityPolicies
   &quot;nextPageToken&quot;: &quot;A String&quot;, # [Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.
+  &quot;unreachables&quot;: [ # [Output Only] Unreachable resources.
+    &quot;A String&quot;,
+  ],
   &quot;warning&quot;: { # [Output Only] Informational warning message.
     &quot;code&quot;: &quot;A String&quot;, # [Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.
     &quot;data&quot;: [ # [Output Only] Metadata about this warning in key: value format. For example:
@@ -1197,6 +1455,9 @@
     &quot;enableMl&quot;: True or False, # If set to true, enables Cloud Armor Machine Learning.
   },
   &quot;creationTimestamp&quot;: &quot;A String&quot;, # [Output Only] Creation timestamp in RFC3339 text format.
+  &quot;ddosProtectionConfig&quot;: {
+    &quot;ddosProtection&quot;: &quot;A String&quot;,
+  },
   &quot;description&quot;: &quot;A String&quot;, # An optional description of this resource. Provide this property when you create the resource.
   &quot;displayName&quot;: &quot;A String&quot;, # User-provided name of the Organization security plicy. The name should be unique in the organization in which the security policy is created. This should only be used when SecurityPolicyType is FIREWALL. The name must be 1-63 characters long, and comply with https://www.ietf.org/rfc/rfc1035.txt. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
   &quot;fingerprint&quot;: &quot;A String&quot;, # Specifies a fingerprint for this resource, which is essentially a hash of the metadata&#x27;s contents and used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update metadata. You must always provide an up-to-date fingerprint hash in order to update or change metadata, otherwise the request will fail with error 412 conditionNotMet.
@@ -1212,6 +1473,7 @@
   },
   &quot;name&quot;: &quot;A String&quot;, # Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
   &quot;parent&quot;: &quot;A String&quot;, # [Output Only] The parent of the security policy.
+  &quot;region&quot;: &quot;A String&quot;, # [Output Only] URL of the region where the regional security policy resides. This field is not applicable to global security policies.
   &quot;ruleTupleCount&quot;: 42, # [Output Only] Total count of all security policy rule tuples. A security policy can not exceed a set number of tuples.
   &quot;rules&quot;: [ # A list of rules that belong to this policy. There must always be a default rule (rule with priority 2147483647 and match &quot;*&quot;). If no rules are provided when creating a security policy, a default rule with action &quot;allow&quot; will be added.
     { # Represents a rule that describes one or more match conditions along with the action to be taken when traffic matches this condition (allow or deny).
diff --git a/docs/dyn/compute_alpha.serviceAttachments.html b/docs/dyn/compute_alpha.serviceAttachments.html
index 6a925d9..b61cff9 100644
--- a/docs/dyn/compute_alpha.serviceAttachments.html
+++ b/docs/dyn/compute_alpha.serviceAttachments.html
@@ -141,7 +141,7 @@
   &quot;id&quot;: &quot;A String&quot;, # [Output Only] Unique identifier for the resource; defined by the server.
   &quot;items&quot;: { # A list of ServiceAttachmentsScopedList resources.
     &quot;a_key&quot;: { # Name of the scope containing this set of ServiceAttachments.
-      &quot;resources&quot;: [ # A list of ServiceAttachments contained in this scope.
+      &quot;serviceAttachments&quot;: [ # A list of ServiceAttachments contained in this scope.
         { # Represents a ServiceAttachment resource.
             #
             # A service attachment represents a service that a producer has exposed. It encapsulates the load balancer which fronts the service runs and a list of NAT IP ranges that the producers uses to represent the consumers connecting to the service. next tag = 19
diff --git a/docs/dyn/compute_alpha.subnetworks.html b/docs/dyn/compute_alpha.subnetworks.html
index 8f68bb1..a0a194d 100644
--- a/docs/dyn/compute_alpha.subnetworks.html
+++ b/docs/dyn/compute_alpha.subnetworks.html
@@ -203,11 +203,13 @@
           ],
           &quot;purpose&quot;: &quot;A String&quot;, # The purpose of the resource. This field can be either PRIVATE_RFC_1918 or INTERNAL_HTTPS_LOAD_BALANCER. A subnetwork with purpose set to INTERNAL_HTTPS_LOAD_BALANCER is a user-created subnetwork that is reserved for Internal HTTP(S) Load Balancing. If unspecified, the purpose defaults to PRIVATE_RFC_1918. The enableFlowLogs field isn&#x27;t supported with the purpose field set to INTERNAL_HTTPS_LOAD_BALANCER.
           &quot;region&quot;: &quot;A String&quot;, # URL of the region where the Subnetwork resides. This field can be set only at resource creation time.
+          &quot;reservedInternalRange&quot;: &quot;A String&quot;, # The URL of the reserved internal range.
           &quot;role&quot;: &quot;A String&quot;, # The role of subnetwork. Currently, this field is only used when purpose = INTERNAL_HTTPS_LOAD_BALANCER. The value can be set to ACTIVE or BACKUP. An ACTIVE subnetwork is one that is currently being used for Internal HTTP(S) Load Balancing. A BACKUP subnetwork is one that is ready to be promoted to ACTIVE or is currently draining. This field can be updated with a patch request.
           &quot;secondaryIpRanges&quot;: [ # An array of configurations for secondary IP ranges for VM instances contained in this subnetwork. The primary IP of such VM must belong to the primary ipCidrRange of the subnetwork. The alias IPs may belong to either primary or secondary ranges. This field can be updated with a patch request.
             { # Represents a secondary IP range of a subnetwork.
               &quot;ipCidrRange&quot;: &quot;A String&quot;, # The range of IP addresses belonging to this subnetwork secondary range. Provide this property when you create the subnetwork. Ranges must be unique and non-overlapping with all primary and secondary IP ranges within a network. Only IPv4 is supported. The range can be any range listed in the Valid ranges list.
               &quot;rangeName&quot;: &quot;A String&quot;, # The name associated with this subnetwork secondary range, used when adding an alias IP range to a VM instance. The name must be 1-63 characters long, and comply with RFC1035. The name must be unique within the subnetwork.
+              &quot;reservedInternalRange&quot;: &quot;A String&quot;, # The URL of the reserved internal range.
             },
           ],
           &quot;selfLink&quot;: &quot;A String&quot;, # [Output Only] Server-defined URL for the resource.
@@ -499,11 +501,13 @@
   ],
   &quot;purpose&quot;: &quot;A String&quot;, # The purpose of the resource. This field can be either PRIVATE_RFC_1918 or INTERNAL_HTTPS_LOAD_BALANCER. A subnetwork with purpose set to INTERNAL_HTTPS_LOAD_BALANCER is a user-created subnetwork that is reserved for Internal HTTP(S) Load Balancing. If unspecified, the purpose defaults to PRIVATE_RFC_1918. The enableFlowLogs field isn&#x27;t supported with the purpose field set to INTERNAL_HTTPS_LOAD_BALANCER.
   &quot;region&quot;: &quot;A String&quot;, # URL of the region where the Subnetwork resides. This field can be set only at resource creation time.
+  &quot;reservedInternalRange&quot;: &quot;A String&quot;, # The URL of the reserved internal range.
   &quot;role&quot;: &quot;A String&quot;, # The role of subnetwork. Currently, this field is only used when purpose = INTERNAL_HTTPS_LOAD_BALANCER. The value can be set to ACTIVE or BACKUP. An ACTIVE subnetwork is one that is currently being used for Internal HTTP(S) Load Balancing. A BACKUP subnetwork is one that is ready to be promoted to ACTIVE or is currently draining. This field can be updated with a patch request.
   &quot;secondaryIpRanges&quot;: [ # An array of configurations for secondary IP ranges for VM instances contained in this subnetwork. The primary IP of such VM must belong to the primary ipCidrRange of the subnetwork. The alias IPs may belong to either primary or secondary ranges. This field can be updated with a patch request.
     { # Represents a secondary IP range of a subnetwork.
       &quot;ipCidrRange&quot;: &quot;A String&quot;, # The range of IP addresses belonging to this subnetwork secondary range. Provide this property when you create the subnetwork. Ranges must be unique and non-overlapping with all primary and secondary IP ranges within a network. Only IPv4 is supported. The range can be any range listed in the Valid ranges list.
       &quot;rangeName&quot;: &quot;A String&quot;, # The name associated with this subnetwork secondary range, used when adding an alias IP range to a VM instance. The name must be 1-63 characters long, and comply with RFC1035. The name must be unique within the subnetwork.
+      &quot;reservedInternalRange&quot;: &quot;A String&quot;, # The URL of the reserved internal range.
     },
   ],
   &quot;selfLink&quot;: &quot;A String&quot;, # [Output Only] Server-defined URL for the resource.
@@ -774,11 +778,13 @@
   ],
   &quot;purpose&quot;: &quot;A String&quot;, # The purpose of the resource. This field can be either PRIVATE_RFC_1918 or INTERNAL_HTTPS_LOAD_BALANCER. A subnetwork with purpose set to INTERNAL_HTTPS_LOAD_BALANCER is a user-created subnetwork that is reserved for Internal HTTP(S) Load Balancing. If unspecified, the purpose defaults to PRIVATE_RFC_1918. The enableFlowLogs field isn&#x27;t supported with the purpose field set to INTERNAL_HTTPS_LOAD_BALANCER.
   &quot;region&quot;: &quot;A String&quot;, # URL of the region where the Subnetwork resides. This field can be set only at resource creation time.
+  &quot;reservedInternalRange&quot;: &quot;A String&quot;, # The URL of the reserved internal range.
   &quot;role&quot;: &quot;A String&quot;, # The role of subnetwork. Currently, this field is only used when purpose = INTERNAL_HTTPS_LOAD_BALANCER. The value can be set to ACTIVE or BACKUP. An ACTIVE subnetwork is one that is currently being used for Internal HTTP(S) Load Balancing. A BACKUP subnetwork is one that is ready to be promoted to ACTIVE or is currently draining. This field can be updated with a patch request.
   &quot;secondaryIpRanges&quot;: [ # An array of configurations for secondary IP ranges for VM instances contained in this subnetwork. The primary IP of such VM must belong to the primary ipCidrRange of the subnetwork. The alias IPs may belong to either primary or secondary ranges. This field can be updated with a patch request.
     { # Represents a secondary IP range of a subnetwork.
       &quot;ipCidrRange&quot;: &quot;A String&quot;, # The range of IP addresses belonging to this subnetwork secondary range. Provide this property when you create the subnetwork. Ranges must be unique and non-overlapping with all primary and secondary IP ranges within a network. Only IPv4 is supported. The range can be any range listed in the Valid ranges list.
       &quot;rangeName&quot;: &quot;A String&quot;, # The name associated with this subnetwork secondary range, used when adding an alias IP range to a VM instance. The name must be 1-63 characters long, and comply with RFC1035. The name must be unique within the subnetwork.
+      &quot;reservedInternalRange&quot;: &quot;A String&quot;, # The URL of the reserved internal range.
     },
   ],
   &quot;selfLink&quot;: &quot;A String&quot;, # [Output Only] Server-defined URL for the resource.
@@ -941,11 +947,13 @@
       ],
       &quot;purpose&quot;: &quot;A String&quot;, # The purpose of the resource. This field can be either PRIVATE_RFC_1918 or INTERNAL_HTTPS_LOAD_BALANCER. A subnetwork with purpose set to INTERNAL_HTTPS_LOAD_BALANCER is a user-created subnetwork that is reserved for Internal HTTP(S) Load Balancing. If unspecified, the purpose defaults to PRIVATE_RFC_1918. The enableFlowLogs field isn&#x27;t supported with the purpose field set to INTERNAL_HTTPS_LOAD_BALANCER.
       &quot;region&quot;: &quot;A String&quot;, # URL of the region where the Subnetwork resides. This field can be set only at resource creation time.
+      &quot;reservedInternalRange&quot;: &quot;A String&quot;, # The URL of the reserved internal range.
       &quot;role&quot;: &quot;A String&quot;, # The role of subnetwork. Currently, this field is only used when purpose = INTERNAL_HTTPS_LOAD_BALANCER. The value can be set to ACTIVE or BACKUP. An ACTIVE subnetwork is one that is currently being used for Internal HTTP(S) Load Balancing. A BACKUP subnetwork is one that is ready to be promoted to ACTIVE or is currently draining. This field can be updated with a patch request.
       &quot;secondaryIpRanges&quot;: [ # An array of configurations for secondary IP ranges for VM instances contained in this subnetwork. The primary IP of such VM must belong to the primary ipCidrRange of the subnetwork. The alias IPs may belong to either primary or secondary ranges. This field can be updated with a patch request.
         { # Represents a secondary IP range of a subnetwork.
           &quot;ipCidrRange&quot;: &quot;A String&quot;, # The range of IP addresses belonging to this subnetwork secondary range. Provide this property when you create the subnetwork. Ranges must be unique and non-overlapping with all primary and secondary IP ranges within a network. Only IPv4 is supported. The range can be any range listed in the Valid ranges list.
           &quot;rangeName&quot;: &quot;A String&quot;, # The name associated with this subnetwork secondary range, used when adding an alias IP range to a VM instance. The name must be 1-63 characters long, and comply with RFC1035. The name must be unique within the subnetwork.
+          &quot;reservedInternalRange&quot;: &quot;A String&quot;, # The URL of the reserved internal range.
         },
       ],
       &quot;selfLink&quot;: &quot;A String&quot;, # [Output Only] Server-defined URL for the resource.
@@ -1121,11 +1129,13 @@
   ],
   &quot;purpose&quot;: &quot;A String&quot;, # The purpose of the resource. This field can be either PRIVATE_RFC_1918 or INTERNAL_HTTPS_LOAD_BALANCER. A subnetwork with purpose set to INTERNAL_HTTPS_LOAD_BALANCER is a user-created subnetwork that is reserved for Internal HTTP(S) Load Balancing. If unspecified, the purpose defaults to PRIVATE_RFC_1918. The enableFlowLogs field isn&#x27;t supported with the purpose field set to INTERNAL_HTTPS_LOAD_BALANCER.
   &quot;region&quot;: &quot;A String&quot;, # URL of the region where the Subnetwork resides. This field can be set only at resource creation time.
+  &quot;reservedInternalRange&quot;: &quot;A String&quot;, # The URL of the reserved internal range.
   &quot;role&quot;: &quot;A String&quot;, # The role of subnetwork. Currently, this field is only used when purpose = INTERNAL_HTTPS_LOAD_BALANCER. The value can be set to ACTIVE or BACKUP. An ACTIVE subnetwork is one that is currently being used for Internal HTTP(S) Load Balancing. A BACKUP subnetwork is one that is ready to be promoted to ACTIVE or is currently draining. This field can be updated with a patch request.
   &quot;secondaryIpRanges&quot;: [ # An array of configurations for secondary IP ranges for VM instances contained in this subnetwork. The primary IP of such VM must belong to the primary ipCidrRange of the subnetwork. The alias IPs may belong to either primary or secondary ranges. This field can be updated with a patch request.
     { # Represents a secondary IP range of a subnetwork.
       &quot;ipCidrRange&quot;: &quot;A String&quot;, # The range of IP addresses belonging to this subnetwork secondary range. Provide this property when you create the subnetwork. Ranges must be unique and non-overlapping with all primary and secondary IP ranges within a network. Only IPv4 is supported. The range can be any range listed in the Valid ranges list.
       &quot;rangeName&quot;: &quot;A String&quot;, # The name associated with this subnetwork secondary range, used when adding an alias IP range to a VM instance. The name must be 1-63 characters long, and comply with RFC1035. The name must be unique within the subnetwork.
+      &quot;reservedInternalRange&quot;: &quot;A String&quot;, # The URL of the reserved internal range.
     },
   ],
   &quot;selfLink&quot;: &quot;A String&quot;, # [Output Only] Server-defined URL for the resource.
diff --git a/docs/dyn/compute_alpha.targetHttpsProxies.html b/docs/dyn/compute_alpha.targetHttpsProxies.html
index 0a826a7..65cd856 100644
--- a/docs/dyn/compute_alpha.targetHttpsProxies.html
+++ b/docs/dyn/compute_alpha.targetHttpsProxies.html
@@ -196,7 +196,7 @@
               # serverTlsPolicy only applies to a global TargetHttpsProxy attached to globalForwardingRules with the loadBalancingScheme set to INTERNAL_SELF_MANAGED.
               # If left blank, communications are not encrypted.
               # Note: This field currently has no impact.
-          &quot;sslCertificates&quot;: [ # URLs to SslCertificate resources that are used to authenticate connections between users and the load balancer. At least one SSL certificate must be specified. Currently, you may specify up to 15 SSL certificates.
+          &quot;sslCertificates&quot;: [ # URLs to SslCertificate resources that are used to authenticate connections between users and the load balancer. At least one SSL certificate must be specified. Currently, you may specify up to 15 SSL certificates. sslCertificates do not apply when the load balancing scheme is set to INTERNAL_SELF_MANAGED.
             &quot;A String&quot;,
           ],
           &quot;sslPolicy&quot;: &quot;A String&quot;, # URL of SslPolicy resource that will be associated with the TargetHttpsProxy resource. If not set, the TargetHttpsProxy resource has no SSL policy configured.
@@ -392,7 +392,7 @@
       # serverTlsPolicy only applies to a global TargetHttpsProxy attached to globalForwardingRules with the loadBalancingScheme set to INTERNAL_SELF_MANAGED.
       # If left blank, communications are not encrypted.
       # Note: This field currently has no impact.
-  &quot;sslCertificates&quot;: [ # URLs to SslCertificate resources that are used to authenticate connections between users and the load balancer. At least one SSL certificate must be specified. Currently, you may specify up to 15 SSL certificates.
+  &quot;sslCertificates&quot;: [ # URLs to SslCertificate resources that are used to authenticate connections between users and the load balancer. At least one SSL certificate must be specified. Currently, you may specify up to 15 SSL certificates. sslCertificates do not apply when the load balancing scheme is set to INTERNAL_SELF_MANAGED.
     &quot;A String&quot;,
   ],
   &quot;sslPolicy&quot;: &quot;A String&quot;, # URL of SslPolicy resource that will be associated with the TargetHttpsProxy resource. If not set, the TargetHttpsProxy resource has no SSL policy configured.
@@ -457,7 +457,7 @@
       # serverTlsPolicy only applies to a global TargetHttpsProxy attached to globalForwardingRules with the loadBalancingScheme set to INTERNAL_SELF_MANAGED.
       # If left blank, communications are not encrypted.
       # Note: This field currently has no impact.
-  &quot;sslCertificates&quot;: [ # URLs to SslCertificate resources that are used to authenticate connections between users and the load balancer. At least one SSL certificate must be specified. Currently, you may specify up to 15 SSL certificates.
+  &quot;sslCertificates&quot;: [ # URLs to SslCertificate resources that are used to authenticate connections between users and the load balancer. At least one SSL certificate must be specified. Currently, you may specify up to 15 SSL certificates. sslCertificates do not apply when the load balancing scheme is set to INTERNAL_SELF_MANAGED.
     &quot;A String&quot;,
   ],
   &quot;sslPolicy&quot;: &quot;A String&quot;, # URL of SslPolicy resource that will be associated with the TargetHttpsProxy resource. If not set, the TargetHttpsProxy resource has no SSL policy configured.
@@ -611,7 +611,7 @@
           # serverTlsPolicy only applies to a global TargetHttpsProxy attached to globalForwardingRules with the loadBalancingScheme set to INTERNAL_SELF_MANAGED.
           # If left blank, communications are not encrypted.
           # Note: This field currently has no impact.
-      &quot;sslCertificates&quot;: [ # URLs to SslCertificate resources that are used to authenticate connections between users and the load balancer. At least one SSL certificate must be specified. Currently, you may specify up to 15 SSL certificates.
+      &quot;sslCertificates&quot;: [ # URLs to SslCertificate resources that are used to authenticate connections between users and the load balancer. At least one SSL certificate must be specified. Currently, you may specify up to 15 SSL certificates. sslCertificates do not apply when the load balancing scheme is set to INTERNAL_SELF_MANAGED.
         &quot;A String&quot;,
       ],
       &quot;sslPolicy&quot;: &quot;A String&quot;, # URL of SslPolicy resource that will be associated with the TargetHttpsProxy resource. If not set, the TargetHttpsProxy resource has no SSL policy configured.
@@ -707,7 +707,7 @@
       # serverTlsPolicy only applies to a global TargetHttpsProxy attached to globalForwardingRules with the loadBalancingScheme set to INTERNAL_SELF_MANAGED.
       # If left blank, communications are not encrypted.
       # Note: This field currently has no impact.
-  &quot;sslCertificates&quot;: [ # URLs to SslCertificate resources that are used to authenticate connections between users and the load balancer. At least one SSL certificate must be specified. Currently, you may specify up to 15 SSL certificates.
+  &quot;sslCertificates&quot;: [ # URLs to SslCertificate resources that are used to authenticate connections between users and the load balancer. At least one SSL certificate must be specified. Currently, you may specify up to 15 SSL certificates. sslCertificates do not apply when the load balancing scheme is set to INTERNAL_SELF_MANAGED.
     &quot;A String&quot;,
   ],
   &quot;sslPolicy&quot;: &quot;A String&quot;, # URL of SslPolicy resource that will be associated with the TargetHttpsProxy resource. If not set, the TargetHttpsProxy resource has no SSL policy configured.
@@ -969,7 +969,7 @@
     The object takes the form of:
 
 {
-  &quot;sslCertificates&quot;: [ # New set of SslCertificate resources to associate with this TargetHttpsProxy resource. Currently exactly one SslCertificate resource must be specified.
+  &quot;sslCertificates&quot;: [ # New set of SslCertificate resources to associate with this TargetHttpsProxy resource. At least one SSL certificate must be specified. Currently, you may specify up to 15 SSL certificates.
     &quot;A String&quot;,
   ],
 }
diff --git a/docs/dyn/compute_alpha.targetSslProxies.html b/docs/dyn/compute_alpha.targetSslProxies.html
index 9d0d6b4..bbf76a7 100644
--- a/docs/dyn/compute_alpha.targetSslProxies.html
+++ b/docs/dyn/compute_alpha.targetSslProxies.html
@@ -217,7 +217,7 @@
   &quot;proxyHeader&quot;: &quot;A String&quot;, # Specifies the type of proxy header to append before sending data to the backend, either NONE or PROXY_V1. The default is NONE.
   &quot;selfLink&quot;: &quot;A String&quot;, # [Output Only] Server-defined URL for the resource.
   &quot;service&quot;: &quot;A String&quot;, # URL to the BackendService resource.
-  &quot;sslCertificates&quot;: [ # URLs to SslCertificate resources that are used to authenticate connections to Backends. At least one SSL certificate must be specified. Currently, you may specify up to 15 SSL certificates.
+  &quot;sslCertificates&quot;: [ # URLs to SslCertificate resources that are used to authenticate connections to Backends. At least one SSL certificate must be specified. Currently, you may specify up to 15 SSL certificates. sslCertificates do not apply when the load balancing scheme is set to INTERNAL_SELF_MANAGED.
     &quot;A String&quot;,
   ],
   &quot;sslPolicy&quot;: &quot;A String&quot;, # URL of SslPolicy resource that will be associated with the TargetSslProxy resource. If not set, the TargetSslProxy resource will not have any SSL policy configured.
@@ -245,7 +245,7 @@
   &quot;proxyHeader&quot;: &quot;A String&quot;, # Specifies the type of proxy header to append before sending data to the backend, either NONE or PROXY_V1. The default is NONE.
   &quot;selfLink&quot;: &quot;A String&quot;, # [Output Only] Server-defined URL for the resource.
   &quot;service&quot;: &quot;A String&quot;, # URL to the BackendService resource.
-  &quot;sslCertificates&quot;: [ # URLs to SslCertificate resources that are used to authenticate connections to Backends. At least one SSL certificate must be specified. Currently, you may specify up to 15 SSL certificates.
+  &quot;sslCertificates&quot;: [ # URLs to SslCertificate resources that are used to authenticate connections to Backends. At least one SSL certificate must be specified. Currently, you may specify up to 15 SSL certificates. sslCertificates do not apply when the load balancing scheme is set to INTERNAL_SELF_MANAGED.
     &quot;A String&quot;,
   ],
   &quot;sslPolicy&quot;: &quot;A String&quot;, # URL of SslPolicy resource that will be associated with the TargetSslProxy resource. If not set, the TargetSslProxy resource will not have any SSL policy configured.
@@ -362,7 +362,7 @@
       &quot;proxyHeader&quot;: &quot;A String&quot;, # Specifies the type of proxy header to append before sending data to the backend, either NONE or PROXY_V1. The default is NONE.
       &quot;selfLink&quot;: &quot;A String&quot;, # [Output Only] Server-defined URL for the resource.
       &quot;service&quot;: &quot;A String&quot;, # URL to the BackendService resource.
-      &quot;sslCertificates&quot;: [ # URLs to SslCertificate resources that are used to authenticate connections to Backends. At least one SSL certificate must be specified. Currently, you may specify up to 15 SSL certificates.
+      &quot;sslCertificates&quot;: [ # URLs to SslCertificate resources that are used to authenticate connections to Backends. At least one SSL certificate must be specified. Currently, you may specify up to 15 SSL certificates. sslCertificates do not apply when the load balancing scheme is set to INTERNAL_SELF_MANAGED.
         &quot;A String&quot;,
       ],
       &quot;sslPolicy&quot;: &quot;A String&quot;, # URL of SslPolicy resource that will be associated with the TargetSslProxy resource. If not set, the TargetSslProxy resource will not have any SSL policy configured.
@@ -665,7 +665,7 @@
     The object takes the form of:
 
 {
-  &quot;sslCertificates&quot;: [ # New set of URLs to SslCertificate resources to associate with this TargetSslProxy. Currently exactly one ssl certificate must be specified.
+  &quot;sslCertificates&quot;: [ # New set of URLs to SslCertificate resources to associate with this TargetSslProxy. At least one SSL certificate must be specified. Currently, you may specify up to 15 SSL certificates.
     &quot;A String&quot;,
   ],
 }
diff --git a/docs/dyn/compute_alpha.urlMaps.html b/docs/dyn/compute_alpha.urlMaps.html
index 71d1ef9..bb5ec49 100644
--- a/docs/dyn/compute_alpha.urlMaps.html
+++ b/docs/dyn/compute_alpha.urlMaps.html
@@ -193,10 +193,10 @@
             },
             &quot;faultInjectionPolicy&quot;: { # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests. # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests.
                 # timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy.
-                # Not supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true.
               &quot;abort&quot;: { # Specification for how requests are aborted as part of fault injection. # The specification for how client requests are aborted as part of fault injection.
                 &quot;httpStatus&quot;: 42, # The HTTP status code used to abort the request.
                     # The value must be between 200 and 599 inclusive.
+                    # For gRPC protocol, the gRPC status code is mapped to HTTP status code according to this  mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
                 &quot;percentage&quot;: 3.14, # The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.
                     # The value must be between 0.0 and 100.0 inclusive.
               },
@@ -227,7 +227,7 @@
                 &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
                 &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
               },
-              &quot;retryConditions&quot;: [ # Specfies one or more conditions when this retry rule applies. Valid values are:
+              &quot;retryConditions&quot;: [ # Specifies one or more conditions when this retry rule applies. Valid values are:
                   # - 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, or if the backend service does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams.
                   # - gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.
                   # -
@@ -394,10 +394,10 @@
                 },
                 &quot;faultInjectionPolicy&quot;: { # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests. # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests.
                     # timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy.
-                    # Not supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true.
                   &quot;abort&quot;: { # Specification for how requests are aborted as part of fault injection. # The specification for how client requests are aborted as part of fault injection.
                     &quot;httpStatus&quot;: 42, # The HTTP status code used to abort the request.
                         # The value must be between 200 and 599 inclusive.
+                        # For gRPC protocol, the gRPC status code is mapped to HTTP status code according to this  mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
                     &quot;percentage&quot;: 3.14, # The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.
                         # The value must be between 0.0 and 100.0 inclusive.
                   },
@@ -428,7 +428,7 @@
                     &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
                     &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
                   },
-                  &quot;retryConditions&quot;: [ # Specfies one or more conditions when this retry rule applies. Valid values are:
+                  &quot;retryConditions&quot;: [ # Specifies one or more conditions when this retry rule applies. Valid values are:
                       # - 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, or if the backend service does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams.
                       # - gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.
                       # -
@@ -590,10 +590,10 @@
                     },
                     &quot;faultInjectionPolicy&quot;: { # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests. # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests.
                         # timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy.
-                        # Not supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true.
                       &quot;abort&quot;: { # Specification for how requests are aborted as part of fault injection. # The specification for how client requests are aborted as part of fault injection.
                         &quot;httpStatus&quot;: 42, # The HTTP status code used to abort the request.
                             # The value must be between 200 and 599 inclusive.
+                            # For gRPC protocol, the gRPC status code is mapped to HTTP status code according to this  mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
                         &quot;percentage&quot;: 3.14, # The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.
                             # The value must be between 0.0 and 100.0 inclusive.
                       },
@@ -624,7 +624,7 @@
                         &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
                         &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
                       },
-                      &quot;retryConditions&quot;: [ # Specfies one or more conditions when this retry rule applies. Valid values are:
+                      &quot;retryConditions&quot;: [ # Specifies one or more conditions when this retry rule applies. Valid values are:
                           # - 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, or if the backend service does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams.
                           # - gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.
                           # -
@@ -884,10 +884,10 @@
                     },
                     &quot;faultInjectionPolicy&quot;: { # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests. # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests.
                         # timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy.
-                        # Not supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true.
                       &quot;abort&quot;: { # Specification for how requests are aborted as part of fault injection. # The specification for how client requests are aborted as part of fault injection.
                         &quot;httpStatus&quot;: 42, # The HTTP status code used to abort the request.
                             # The value must be between 200 and 599 inclusive.
+                            # For gRPC protocol, the gRPC status code is mapped to HTTP status code according to this  mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
                         &quot;percentage&quot;: 3.14, # The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.
                             # The value must be between 0.0 and 100.0 inclusive.
                       },
@@ -918,7 +918,7 @@
                         &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
                         &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
                       },
-                      &quot;retryConditions&quot;: [ # Specfies one or more conditions when this retry rule applies. Valid values are:
+                      &quot;retryConditions&quot;: [ # Specifies one or more conditions when this retry rule applies. Valid values are:
                           # - 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, or if the backend service does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams.
                           # - gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.
                           # -
@@ -1230,10 +1230,10 @@
     },
     &quot;faultInjectionPolicy&quot;: { # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests. # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests.
         # timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy.
-        # Not supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true.
       &quot;abort&quot;: { # Specification for how requests are aborted as part of fault injection. # The specification for how client requests are aborted as part of fault injection.
         &quot;httpStatus&quot;: 42, # The HTTP status code used to abort the request.
             # The value must be between 200 and 599 inclusive.
+            # For gRPC protocol, the gRPC status code is mapped to HTTP status code according to this  mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
         &quot;percentage&quot;: 3.14, # The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.
             # The value must be between 0.0 and 100.0 inclusive.
       },
@@ -1264,7 +1264,7 @@
         &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
         &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
       },
-      &quot;retryConditions&quot;: [ # Specfies one or more conditions when this retry rule applies. Valid values are:
+      &quot;retryConditions&quot;: [ # Specifies one or more conditions when this retry rule applies. Valid values are:
           # - 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, or if the backend service does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams.
           # - gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.
           # -
@@ -1431,10 +1431,10 @@
         },
         &quot;faultInjectionPolicy&quot;: { # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests. # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests.
             # timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy.
-            # Not supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true.
           &quot;abort&quot;: { # Specification for how requests are aborted as part of fault injection. # The specification for how client requests are aborted as part of fault injection.
             &quot;httpStatus&quot;: 42, # The HTTP status code used to abort the request.
                 # The value must be between 200 and 599 inclusive.
+                # For gRPC protocol, the gRPC status code is mapped to HTTP status code according to this  mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
             &quot;percentage&quot;: 3.14, # The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.
                 # The value must be between 0.0 and 100.0 inclusive.
           },
@@ -1465,7 +1465,7 @@
             &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
             &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
           },
-          &quot;retryConditions&quot;: [ # Specfies one or more conditions when this retry rule applies. Valid values are:
+          &quot;retryConditions&quot;: [ # Specifies one or more conditions when this retry rule applies. Valid values are:
               # - 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, or if the backend service does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams.
               # - gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.
               # -
@@ -1627,10 +1627,10 @@
             },
             &quot;faultInjectionPolicy&quot;: { # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests. # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests.
                 # timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy.
-                # Not supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true.
               &quot;abort&quot;: { # Specification for how requests are aborted as part of fault injection. # The specification for how client requests are aborted as part of fault injection.
                 &quot;httpStatus&quot;: 42, # The HTTP status code used to abort the request.
                     # The value must be between 200 and 599 inclusive.
+                    # For gRPC protocol, the gRPC status code is mapped to HTTP status code according to this  mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
                 &quot;percentage&quot;: 3.14, # The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.
                     # The value must be between 0.0 and 100.0 inclusive.
               },
@@ -1661,7 +1661,7 @@
                 &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
                 &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
               },
-              &quot;retryConditions&quot;: [ # Specfies one or more conditions when this retry rule applies. Valid values are:
+              &quot;retryConditions&quot;: [ # Specifies one or more conditions when this retry rule applies. Valid values are:
                   # - 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, or if the backend service does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams.
                   # - gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.
                   # -
@@ -1921,10 +1921,10 @@
             },
             &quot;faultInjectionPolicy&quot;: { # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests. # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests.
                 # timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy.
-                # Not supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true.
               &quot;abort&quot;: { # Specification for how requests are aborted as part of fault injection. # The specification for how client requests are aborted as part of fault injection.
                 &quot;httpStatus&quot;: 42, # The HTTP status code used to abort the request.
                     # The value must be between 200 and 599 inclusive.
+                    # For gRPC protocol, the gRPC status code is mapped to HTTP status code according to this  mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
                 &quot;percentage&quot;: 3.14, # The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.
                     # The value must be between 0.0 and 100.0 inclusive.
               },
@@ -1955,7 +1955,7 @@
                 &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
                 &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
               },
-              &quot;retryConditions&quot;: [ # Specfies one or more conditions when this retry rule applies. Valid values are:
+              &quot;retryConditions&quot;: [ # Specifies one or more conditions when this retry rule applies. Valid values are:
                   # - 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, or if the backend service does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams.
                   # - gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.
                   # -
@@ -2136,10 +2136,10 @@
     },
     &quot;faultInjectionPolicy&quot;: { # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests. # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests.
         # timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy.
-        # Not supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true.
       &quot;abort&quot;: { # Specification for how requests are aborted as part of fault injection. # The specification for how client requests are aborted as part of fault injection.
         &quot;httpStatus&quot;: 42, # The HTTP status code used to abort the request.
             # The value must be between 200 and 599 inclusive.
+            # For gRPC protocol, the gRPC status code is mapped to HTTP status code according to this  mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
         &quot;percentage&quot;: 3.14, # The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.
             # The value must be between 0.0 and 100.0 inclusive.
       },
@@ -2170,7 +2170,7 @@
         &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
         &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
       },
-      &quot;retryConditions&quot;: [ # Specfies one or more conditions when this retry rule applies. Valid values are:
+      &quot;retryConditions&quot;: [ # Specifies one or more conditions when this retry rule applies. Valid values are:
           # - 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, or if the backend service does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams.
           # - gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.
           # -
@@ -2337,10 +2337,10 @@
         },
         &quot;faultInjectionPolicy&quot;: { # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests. # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests.
             # timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy.
-            # Not supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true.
           &quot;abort&quot;: { # Specification for how requests are aborted as part of fault injection. # The specification for how client requests are aborted as part of fault injection.
             &quot;httpStatus&quot;: 42, # The HTTP status code used to abort the request.
                 # The value must be between 200 and 599 inclusive.
+                # For gRPC protocol, the gRPC status code is mapped to HTTP status code according to this  mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
             &quot;percentage&quot;: 3.14, # The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.
                 # The value must be between 0.0 and 100.0 inclusive.
           },
@@ -2371,7 +2371,7 @@
             &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
             &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
           },
-          &quot;retryConditions&quot;: [ # Specfies one or more conditions when this retry rule applies. Valid values are:
+          &quot;retryConditions&quot;: [ # Specifies one or more conditions when this retry rule applies. Valid values are:
               # - 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, or if the backend service does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams.
               # - gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.
               # -
@@ -2533,10 +2533,10 @@
             },
             &quot;faultInjectionPolicy&quot;: { # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests. # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests.
                 # timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy.
-                # Not supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true.
               &quot;abort&quot;: { # Specification for how requests are aborted as part of fault injection. # The specification for how client requests are aborted as part of fault injection.
                 &quot;httpStatus&quot;: 42, # The HTTP status code used to abort the request.
                     # The value must be between 200 and 599 inclusive.
+                    # For gRPC protocol, the gRPC status code is mapped to HTTP status code according to this  mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
                 &quot;percentage&quot;: 3.14, # The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.
                     # The value must be between 0.0 and 100.0 inclusive.
               },
@@ -2567,7 +2567,7 @@
                 &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
                 &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
               },
-              &quot;retryConditions&quot;: [ # Specfies one or more conditions when this retry rule applies. Valid values are:
+              &quot;retryConditions&quot;: [ # Specifies one or more conditions when this retry rule applies. Valid values are:
                   # - 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, or if the backend service does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams.
                   # - gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.
                   # -
@@ -2827,10 +2827,10 @@
             },
             &quot;faultInjectionPolicy&quot;: { # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests. # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests.
                 # timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy.
-                # Not supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true.
               &quot;abort&quot;: { # Specification for how requests are aborted as part of fault injection. # The specification for how client requests are aborted as part of fault injection.
                 &quot;httpStatus&quot;: 42, # The HTTP status code used to abort the request.
                     # The value must be between 200 and 599 inclusive.
+                    # For gRPC protocol, the gRPC status code is mapped to HTTP status code according to this  mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
                 &quot;percentage&quot;: 3.14, # The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.
                     # The value must be between 0.0 and 100.0 inclusive.
               },
@@ -2861,7 +2861,7 @@
                 &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
                 &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
               },
-              &quot;retryConditions&quot;: [ # Specfies one or more conditions when this retry rule applies. Valid values are:
+              &quot;retryConditions&quot;: [ # Specifies one or more conditions when this retry rule applies. Valid values are:
                   # - 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, or if the backend service does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams.
                   # - gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.
                   # -
@@ -3219,10 +3219,10 @@
         },
         &quot;faultInjectionPolicy&quot;: { # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests. # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests.
             # timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy.
-            # Not supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true.
           &quot;abort&quot;: { # Specification for how requests are aborted as part of fault injection. # The specification for how client requests are aborted as part of fault injection.
             &quot;httpStatus&quot;: 42, # The HTTP status code used to abort the request.
                 # The value must be between 200 and 599 inclusive.
+                # For gRPC protocol, the gRPC status code is mapped to HTTP status code according to this  mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
             &quot;percentage&quot;: 3.14, # The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.
                 # The value must be between 0.0 and 100.0 inclusive.
           },
@@ -3253,7 +3253,7 @@
             &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
             &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
           },
-          &quot;retryConditions&quot;: [ # Specfies one or more conditions when this retry rule applies. Valid values are:
+          &quot;retryConditions&quot;: [ # Specifies one or more conditions when this retry rule applies. Valid values are:
               # - 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, or if the backend service does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams.
               # - gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.
               # -
@@ -3420,10 +3420,10 @@
             },
             &quot;faultInjectionPolicy&quot;: { # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests. # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests.
                 # timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy.
-                # Not supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true.
               &quot;abort&quot;: { # Specification for how requests are aborted as part of fault injection. # The specification for how client requests are aborted as part of fault injection.
                 &quot;httpStatus&quot;: 42, # The HTTP status code used to abort the request.
                     # The value must be between 200 and 599 inclusive.
+                    # For gRPC protocol, the gRPC status code is mapped to HTTP status code according to this  mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
                 &quot;percentage&quot;: 3.14, # The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.
                     # The value must be between 0.0 and 100.0 inclusive.
               },
@@ -3454,7 +3454,7 @@
                 &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
                 &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
               },
-              &quot;retryConditions&quot;: [ # Specfies one or more conditions when this retry rule applies. Valid values are:
+              &quot;retryConditions&quot;: [ # Specifies one or more conditions when this retry rule applies. Valid values are:
                   # - 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, or if the backend service does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams.
                   # - gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.
                   # -
@@ -3616,10 +3616,10 @@
                 },
                 &quot;faultInjectionPolicy&quot;: { # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests. # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests.
                     # timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy.
-                    # Not supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true.
                   &quot;abort&quot;: { # Specification for how requests are aborted as part of fault injection. # The specification for how client requests are aborted as part of fault injection.
                     &quot;httpStatus&quot;: 42, # The HTTP status code used to abort the request.
                         # The value must be between 200 and 599 inclusive.
+                        # For gRPC protocol, the gRPC status code is mapped to HTTP status code according to this  mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
                     &quot;percentage&quot;: 3.14, # The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.
                         # The value must be between 0.0 and 100.0 inclusive.
                   },
@@ -3650,7 +3650,7 @@
                     &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
                     &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
                   },
-                  &quot;retryConditions&quot;: [ # Specfies one or more conditions when this retry rule applies. Valid values are:
+                  &quot;retryConditions&quot;: [ # Specifies one or more conditions when this retry rule applies. Valid values are:
                       # - 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, or if the backend service does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams.
                       # - gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.
                       # -
@@ -3910,10 +3910,10 @@
                 },
                 &quot;faultInjectionPolicy&quot;: { # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests. # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests.
                     # timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy.
-                    # Not supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true.
                   &quot;abort&quot;: { # Specification for how requests are aborted as part of fault injection. # The specification for how client requests are aborted as part of fault injection.
                     &quot;httpStatus&quot;: 42, # The HTTP status code used to abort the request.
                         # The value must be between 200 and 599 inclusive.
+                        # For gRPC protocol, the gRPC status code is mapped to HTTP status code according to this  mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
                     &quot;percentage&quot;: 3.14, # The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.
                         # The value must be between 0.0 and 100.0 inclusive.
                   },
@@ -3944,7 +3944,7 @@
                     &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
                     &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
                   },
-                  &quot;retryConditions&quot;: [ # Specfies one or more conditions when this retry rule applies. Valid values are:
+                  &quot;retryConditions&quot;: [ # Specifies one or more conditions when this retry rule applies. Valid values are:
                       # - 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, or if the backend service does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams.
                       # - gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.
                       # -
@@ -4156,10 +4156,10 @@
     },
     &quot;faultInjectionPolicy&quot;: { # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests. # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests.
         # timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy.
-        # Not supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true.
       &quot;abort&quot;: { # Specification for how requests are aborted as part of fault injection. # The specification for how client requests are aborted as part of fault injection.
         &quot;httpStatus&quot;: 42, # The HTTP status code used to abort the request.
             # The value must be between 200 and 599 inclusive.
+            # For gRPC protocol, the gRPC status code is mapped to HTTP status code according to this  mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
         &quot;percentage&quot;: 3.14, # The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.
             # The value must be between 0.0 and 100.0 inclusive.
       },
@@ -4190,7 +4190,7 @@
         &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
         &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
       },
-      &quot;retryConditions&quot;: [ # Specfies one or more conditions when this retry rule applies. Valid values are:
+      &quot;retryConditions&quot;: [ # Specifies one or more conditions when this retry rule applies. Valid values are:
           # - 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, or if the backend service does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams.
           # - gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.
           # -
@@ -4357,10 +4357,10 @@
         },
         &quot;faultInjectionPolicy&quot;: { # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests. # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests.
             # timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy.
-            # Not supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true.
           &quot;abort&quot;: { # Specification for how requests are aborted as part of fault injection. # The specification for how client requests are aborted as part of fault injection.
             &quot;httpStatus&quot;: 42, # The HTTP status code used to abort the request.
                 # The value must be between 200 and 599 inclusive.
+                # For gRPC protocol, the gRPC status code is mapped to HTTP status code according to this  mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
             &quot;percentage&quot;: 3.14, # The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.
                 # The value must be between 0.0 and 100.0 inclusive.
           },
@@ -4391,7 +4391,7 @@
             &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
             &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
           },
-          &quot;retryConditions&quot;: [ # Specfies one or more conditions when this retry rule applies. Valid values are:
+          &quot;retryConditions&quot;: [ # Specifies one or more conditions when this retry rule applies. Valid values are:
               # - 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, or if the backend service does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams.
               # - gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.
               # -
@@ -4553,10 +4553,10 @@
             },
             &quot;faultInjectionPolicy&quot;: { # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests. # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests.
                 # timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy.
-                # Not supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true.
               &quot;abort&quot;: { # Specification for how requests are aborted as part of fault injection. # The specification for how client requests are aborted as part of fault injection.
                 &quot;httpStatus&quot;: 42, # The HTTP status code used to abort the request.
                     # The value must be between 200 and 599 inclusive.
+                    # For gRPC protocol, the gRPC status code is mapped to HTTP status code according to this  mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
                 &quot;percentage&quot;: 3.14, # The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.
                     # The value must be between 0.0 and 100.0 inclusive.
               },
@@ -4587,7 +4587,7 @@
                 &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
                 &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
               },
-              &quot;retryConditions&quot;: [ # Specfies one or more conditions when this retry rule applies. Valid values are:
+              &quot;retryConditions&quot;: [ # Specifies one or more conditions when this retry rule applies. Valid values are:
                   # - 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, or if the backend service does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams.
                   # - gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.
                   # -
@@ -4847,10 +4847,10 @@
             },
             &quot;faultInjectionPolicy&quot;: { # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests. # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests.
                 # timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy.
-                # Not supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true.
               &quot;abort&quot;: { # Specification for how requests are aborted as part of fault injection. # The specification for how client requests are aborted as part of fault injection.
                 &quot;httpStatus&quot;: 42, # The HTTP status code used to abort the request.
                     # The value must be between 200 and 599 inclusive.
+                    # For gRPC protocol, the gRPC status code is mapped to HTTP status code according to this  mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
                 &quot;percentage&quot;: 3.14, # The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.
                     # The value must be between 0.0 and 100.0 inclusive.
               },
@@ -4881,7 +4881,7 @@
                 &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
                 &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
               },
-              &quot;retryConditions&quot;: [ # Specfies one or more conditions when this retry rule applies. Valid values are:
+              &quot;retryConditions&quot;: [ # Specifies one or more conditions when this retry rule applies. Valid values are:
                   # - 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, or if the backend service does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams.
                   # - gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.
                   # -
@@ -5160,10 +5160,10 @@
     },
     &quot;faultInjectionPolicy&quot;: { # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests. # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests.
         # timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy.
-        # Not supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true.
       &quot;abort&quot;: { # Specification for how requests are aborted as part of fault injection. # The specification for how client requests are aborted as part of fault injection.
         &quot;httpStatus&quot;: 42, # The HTTP status code used to abort the request.
             # The value must be between 200 and 599 inclusive.
+            # For gRPC protocol, the gRPC status code is mapped to HTTP status code according to this  mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
         &quot;percentage&quot;: 3.14, # The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.
             # The value must be between 0.0 and 100.0 inclusive.
       },
@@ -5194,7 +5194,7 @@
         &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
         &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
       },
-      &quot;retryConditions&quot;: [ # Specfies one or more conditions when this retry rule applies. Valid values are:
+      &quot;retryConditions&quot;: [ # Specifies one or more conditions when this retry rule applies. Valid values are:
           # - 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, or if the backend service does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams.
           # - gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.
           # -
@@ -5361,10 +5361,10 @@
         },
         &quot;faultInjectionPolicy&quot;: { # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests. # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests.
             # timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy.
-            # Not supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true.
           &quot;abort&quot;: { # Specification for how requests are aborted as part of fault injection. # The specification for how client requests are aborted as part of fault injection.
             &quot;httpStatus&quot;: 42, # The HTTP status code used to abort the request.
                 # The value must be between 200 and 599 inclusive.
+                # For gRPC protocol, the gRPC status code is mapped to HTTP status code according to this  mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
             &quot;percentage&quot;: 3.14, # The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.
                 # The value must be between 0.0 and 100.0 inclusive.
           },
@@ -5395,7 +5395,7 @@
             &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
             &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
           },
-          &quot;retryConditions&quot;: [ # Specfies one or more conditions when this retry rule applies. Valid values are:
+          &quot;retryConditions&quot;: [ # Specifies one or more conditions when this retry rule applies. Valid values are:
               # - 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, or if the backend service does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams.
               # - gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.
               # -
@@ -5557,10 +5557,10 @@
             },
             &quot;faultInjectionPolicy&quot;: { # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests. # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests.
                 # timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy.
-                # Not supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true.
               &quot;abort&quot;: { # Specification for how requests are aborted as part of fault injection. # The specification for how client requests are aborted as part of fault injection.
                 &quot;httpStatus&quot;: 42, # The HTTP status code used to abort the request.
                     # The value must be between 200 and 599 inclusive.
+                    # For gRPC protocol, the gRPC status code is mapped to HTTP status code according to this  mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
                 &quot;percentage&quot;: 3.14, # The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.
                     # The value must be between 0.0 and 100.0 inclusive.
               },
@@ -5591,7 +5591,7 @@
                 &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
                 &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
               },
-              &quot;retryConditions&quot;: [ # Specfies one or more conditions when this retry rule applies. Valid values are:
+              &quot;retryConditions&quot;: [ # Specifies one or more conditions when this retry rule applies. Valid values are:
                   # - 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, or if the backend service does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams.
                   # - gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.
                   # -
@@ -5851,10 +5851,10 @@
             },
             &quot;faultInjectionPolicy&quot;: { # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests. # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests.
                 # timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy.
-                # Not supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true.
               &quot;abort&quot;: { # Specification for how requests are aborted as part of fault injection. # The specification for how client requests are aborted as part of fault injection.
                 &quot;httpStatus&quot;: 42, # The HTTP status code used to abort the request.
                     # The value must be between 200 and 599 inclusive.
+                    # For gRPC protocol, the gRPC status code is mapped to HTTP status code according to this  mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
                 &quot;percentage&quot;: 3.14, # The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.
                     # The value must be between 0.0 and 100.0 inclusive.
               },
@@ -5885,7 +5885,7 @@
                 &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
                 &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
               },
-              &quot;retryConditions&quot;: [ # Specfies one or more conditions when this retry rule applies. Valid values are:
+              &quot;retryConditions&quot;: [ # Specifies one or more conditions when this retry rule applies. Valid values are:
                   # - 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, or if the backend service does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams.
                   # - gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.
                   # -
@@ -6138,10 +6138,10 @@
       },
       &quot;faultInjectionPolicy&quot;: { # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests. # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests.
           # timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy.
-          # Not supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true.
         &quot;abort&quot;: { # Specification for how requests are aborted as part of fault injection. # The specification for how client requests are aborted as part of fault injection.
           &quot;httpStatus&quot;: 42, # The HTTP status code used to abort the request.
               # The value must be between 200 and 599 inclusive.
+              # For gRPC protocol, the gRPC status code is mapped to HTTP status code according to this  mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
           &quot;percentage&quot;: 3.14, # The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.
               # The value must be between 0.0 and 100.0 inclusive.
         },
@@ -6172,7 +6172,7 @@
           &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
           &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
         },
-        &quot;retryConditions&quot;: [ # Specfies one or more conditions when this retry rule applies. Valid values are:
+        &quot;retryConditions&quot;: [ # Specifies one or more conditions when this retry rule applies. Valid values are:
             # - 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, or if the backend service does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams.
             # - gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.
             # -
@@ -6339,10 +6339,10 @@
           },
           &quot;faultInjectionPolicy&quot;: { # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests. # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests.
               # timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy.
-              # Not supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true.
             &quot;abort&quot;: { # Specification for how requests are aborted as part of fault injection. # The specification for how client requests are aborted as part of fault injection.
               &quot;httpStatus&quot;: 42, # The HTTP status code used to abort the request.
                   # The value must be between 200 and 599 inclusive.
+                  # For gRPC protocol, the gRPC status code is mapped to HTTP status code according to this  mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
               &quot;percentage&quot;: 3.14, # The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.
                   # The value must be between 0.0 and 100.0 inclusive.
             },
@@ -6373,7 +6373,7 @@
               &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
               &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
             },
-            &quot;retryConditions&quot;: [ # Specfies one or more conditions when this retry rule applies. Valid values are:
+            &quot;retryConditions&quot;: [ # Specifies one or more conditions when this retry rule applies. Valid values are:
                 # - 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, or if the backend service does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams.
                 # - gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.
                 # -
@@ -6535,10 +6535,10 @@
               },
               &quot;faultInjectionPolicy&quot;: { # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests. # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests.
                   # timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy.
-                  # Not supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true.
                 &quot;abort&quot;: { # Specification for how requests are aborted as part of fault injection. # The specification for how client requests are aborted as part of fault injection.
                   &quot;httpStatus&quot;: 42, # The HTTP status code used to abort the request.
                       # The value must be between 200 and 599 inclusive.
+                      # For gRPC protocol, the gRPC status code is mapped to HTTP status code according to this  mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
                   &quot;percentage&quot;: 3.14, # The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.
                       # The value must be between 0.0 and 100.0 inclusive.
                 },
@@ -6569,7 +6569,7 @@
                   &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
                   &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
                 },
-                &quot;retryConditions&quot;: [ # Specfies one or more conditions when this retry rule applies. Valid values are:
+                &quot;retryConditions&quot;: [ # Specifies one or more conditions when this retry rule applies. Valid values are:
                     # - 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, or if the backend service does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams.
                     # - gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.
                     # -
@@ -6829,10 +6829,10 @@
               },
               &quot;faultInjectionPolicy&quot;: { # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests. # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests.
                   # timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy.
-                  # Not supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true.
                 &quot;abort&quot;: { # Specification for how requests are aborted as part of fault injection. # The specification for how client requests are aborted as part of fault injection.
                   &quot;httpStatus&quot;: 42, # The HTTP status code used to abort the request.
                       # The value must be between 200 and 599 inclusive.
+                      # For gRPC protocol, the gRPC status code is mapped to HTTP status code according to this  mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
                   &quot;percentage&quot;: 3.14, # The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.
                       # The value must be between 0.0 and 100.0 inclusive.
                 },
@@ -6863,7 +6863,7 @@
                   &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
                   &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
                 },
-                &quot;retryConditions&quot;: [ # Specfies one or more conditions when this retry rule applies. Valid values are:
+                &quot;retryConditions&quot;: [ # Specifies one or more conditions when this retry rule applies. Valid values are:
                     # - 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, or if the backend service does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams.
                     # - gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.
                     # -
diff --git a/docs/dyn/compute_beta.backendServices.html b/docs/dyn/compute_beta.backendServices.html
index c1cc275..5660dd0 100644
--- a/docs/dyn/compute_beta.backendServices.html
+++ b/docs/dyn/compute_beta.backendServices.html
@@ -345,22 +345,16 @@
               &quot;A String&quot;,
             ],
           },
-          &quot;circuitBreakers&quot;: { # Settings controlling the volume of connections to a backend service. # Settings controlling the volume of connections to a backend service. If not set, this feature is considered disabled.
-              #
-              # This field is applicable to either:
-              # - A regional backend service with the service_protocol set to HTTP, HTTPS, or HTTP2, and load_balancing_scheme set to INTERNAL_MANAGED.
-              # - A global backend service with the load_balancing_scheme set to INTERNAL_SELF_MANAGED.
-              #
-              # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
+          &quot;circuitBreakers&quot;: { # Settings controlling the volume of connections to a backend service.
             &quot;connectTimeout&quot;: { # A Duration represents a fixed-length span of time represented as a count of seconds and fractions of seconds at nanosecond resolution. It is independent of any calendar and concepts like &quot;day&quot; or &quot;month&quot;. Range is approximately 10,000 years. # The timeout for new network connections to hosts.
               &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
               &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
             },
-            &quot;maxConnections&quot;: 42, # The maximum number of connections to the backend service. If not specified, there is no limit.
-            &quot;maxPendingRequests&quot;: 42, # The maximum number of pending requests allowed to the backend service. If not specified, there is no limit.
+            &quot;maxConnections&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
+            &quot;maxPendingRequests&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
             &quot;maxRequests&quot;: 42, # The maximum number of parallel requests that allowed to the backend service. If not specified, there is no limit.
-            &quot;maxRequestsPerConnection&quot;: 42, # Maximum requests for a single connection to the backend service. This parameter is respected by both the HTTP/1.1 and HTTP/2 implementations. If not specified, there is no limit. Setting this parameter to 1 will effectively disable keep alive.
-            &quot;maxRetries&quot;: 42, # The maximum number of parallel retries allowed to the backend cluster. If not specified, the default is 1.
+            &quot;maxRequestsPerConnection&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
+            &quot;maxRetries&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
           },
           &quot;connectionDraining&quot;: { # Message containing connection draining configuration.
             &quot;drainingTimeoutSec&quot;: 42, # Configures a duration timeout for existing requests on a removed backend instance. For supported load balancers and protocols, as described in Enabling connection draining.
@@ -456,6 +450,7 @@
           },
           &quot;maxStreamDuration&quot;: { # A Duration represents a fixed-length span of time represented as a count of seconds and fractions of seconds at nanosecond resolution. It is independent of any calendar and concepts like &quot;day&quot; or &quot;month&quot;. Range is approximately 10,000 years. # Specifies the default maximum duration (timeout) for streams to this service. Duration is computed from the beginning of the stream until the response has been completely processed, including all retries. A stream that does not complete in this duration is closed.
               # If not specified, there will be no timeout limit, i.e. the maximum duration is infinite.
+              # This value can be overridden in the PathMatcher configuration of the UrlMap that references this backend service.
               # This field is only allowed when the loadBalancingScheme of the backend service is INTERNAL_SELF_MANAGED.
             &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
             &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
@@ -530,7 +525,7 @@
           &quot;subsetting&quot;: { # Subsetting configuration for this BackendService. Currently this is applicable only for Internal TCP/UDP load balancing and Internal HTTP(S) load balancing.
             &quot;policy&quot;: &quot;A String&quot;,
           },
-          &quot;timeoutSec&quot;: 42, # The backend service timeout has a different meaning depending on the type of load balancer. For more information see,  Backend service settings The default is 30 seconds. The full range of timeout values allowed is 1 - 2,147,483,647 seconds.
+          &quot;timeoutSec&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true. Instead, use maxStreamDuration.
         },
       ],
       &quot;warning&quot;: { # Informational warning which replaces the list of backend services when the list is empty.
@@ -860,22 +855,16 @@
       &quot;A String&quot;,
     ],
   },
-  &quot;circuitBreakers&quot;: { # Settings controlling the volume of connections to a backend service. # Settings controlling the volume of connections to a backend service. If not set, this feature is considered disabled.
-      #
-      # This field is applicable to either:
-      # - A regional backend service with the service_protocol set to HTTP, HTTPS, or HTTP2, and load_balancing_scheme set to INTERNAL_MANAGED.
-      # - A global backend service with the load_balancing_scheme set to INTERNAL_SELF_MANAGED.
-      #
-      # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
+  &quot;circuitBreakers&quot;: { # Settings controlling the volume of connections to a backend service.
     &quot;connectTimeout&quot;: { # A Duration represents a fixed-length span of time represented as a count of seconds and fractions of seconds at nanosecond resolution. It is independent of any calendar and concepts like &quot;day&quot; or &quot;month&quot;. Range is approximately 10,000 years. # The timeout for new network connections to hosts.
       &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
       &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
     },
-    &quot;maxConnections&quot;: 42, # The maximum number of connections to the backend service. If not specified, there is no limit.
-    &quot;maxPendingRequests&quot;: 42, # The maximum number of pending requests allowed to the backend service. If not specified, there is no limit.
+    &quot;maxConnections&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
+    &quot;maxPendingRequests&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
     &quot;maxRequests&quot;: 42, # The maximum number of parallel requests that allowed to the backend service. If not specified, there is no limit.
-    &quot;maxRequestsPerConnection&quot;: 42, # Maximum requests for a single connection to the backend service. This parameter is respected by both the HTTP/1.1 and HTTP/2 implementations. If not specified, there is no limit. Setting this parameter to 1 will effectively disable keep alive.
-    &quot;maxRetries&quot;: 42, # The maximum number of parallel retries allowed to the backend cluster. If not specified, the default is 1.
+    &quot;maxRequestsPerConnection&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
+    &quot;maxRetries&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
   },
   &quot;connectionDraining&quot;: { # Message containing connection draining configuration.
     &quot;drainingTimeoutSec&quot;: 42, # Configures a duration timeout for existing requests on a removed backend instance. For supported load balancers and protocols, as described in Enabling connection draining.
@@ -971,6 +960,7 @@
   },
   &quot;maxStreamDuration&quot;: { # A Duration represents a fixed-length span of time represented as a count of seconds and fractions of seconds at nanosecond resolution. It is independent of any calendar and concepts like &quot;day&quot; or &quot;month&quot;. Range is approximately 10,000 years. # Specifies the default maximum duration (timeout) for streams to this service. Duration is computed from the beginning of the stream until the response has been completely processed, including all retries. A stream that does not complete in this duration is closed.
       # If not specified, there will be no timeout limit, i.e. the maximum duration is infinite.
+      # This value can be overridden in the PathMatcher configuration of the UrlMap that references this backend service.
       # This field is only allowed when the loadBalancingScheme of the backend service is INTERNAL_SELF_MANAGED.
     &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
     &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
@@ -1045,7 +1035,7 @@
   &quot;subsetting&quot;: { # Subsetting configuration for this BackendService. Currently this is applicable only for Internal TCP/UDP load balancing and Internal HTTP(S) load balancing.
     &quot;policy&quot;: &quot;A String&quot;,
   },
-  &quot;timeoutSec&quot;: 42, # The backend service timeout has a different meaning depending on the type of load balancer. For more information see,  Backend service settings The default is 30 seconds. The full range of timeout values allowed is 1 - 2,147,483,647 seconds.
+  &quot;timeoutSec&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true. Instead, use maxStreamDuration.
 }</pre>
 </div>
 
@@ -1212,22 +1202,16 @@
       &quot;A String&quot;,
     ],
   },
-  &quot;circuitBreakers&quot;: { # Settings controlling the volume of connections to a backend service. # Settings controlling the volume of connections to a backend service. If not set, this feature is considered disabled.
-      # 
-      # This field is applicable to either:
-      # - A regional backend service with the service_protocol set to HTTP, HTTPS, or HTTP2, and load_balancing_scheme set to INTERNAL_MANAGED.
-      # - A global backend service with the load_balancing_scheme set to INTERNAL_SELF_MANAGED.
-      # 
-      # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
+  &quot;circuitBreakers&quot;: { # Settings controlling the volume of connections to a backend service.
     &quot;connectTimeout&quot;: { # A Duration represents a fixed-length span of time represented as a count of seconds and fractions of seconds at nanosecond resolution. It is independent of any calendar and concepts like &quot;day&quot; or &quot;month&quot;. Range is approximately 10,000 years. # The timeout for new network connections to hosts.
       &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
       &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
     },
-    &quot;maxConnections&quot;: 42, # The maximum number of connections to the backend service. If not specified, there is no limit.
-    &quot;maxPendingRequests&quot;: 42, # The maximum number of pending requests allowed to the backend service. If not specified, there is no limit.
+    &quot;maxConnections&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
+    &quot;maxPendingRequests&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
     &quot;maxRequests&quot;: 42, # The maximum number of parallel requests that allowed to the backend service. If not specified, there is no limit.
-    &quot;maxRequestsPerConnection&quot;: 42, # Maximum requests for a single connection to the backend service. This parameter is respected by both the HTTP/1.1 and HTTP/2 implementations. If not specified, there is no limit. Setting this parameter to 1 will effectively disable keep alive.
-    &quot;maxRetries&quot;: 42, # The maximum number of parallel retries allowed to the backend cluster. If not specified, the default is 1.
+    &quot;maxRequestsPerConnection&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
+    &quot;maxRetries&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
   },
   &quot;connectionDraining&quot;: { # Message containing connection draining configuration.
     &quot;drainingTimeoutSec&quot;: 42, # Configures a duration timeout for existing requests on a removed backend instance. For supported load balancers and protocols, as described in Enabling connection draining.
@@ -1323,6 +1307,7 @@
   },
   &quot;maxStreamDuration&quot;: { # A Duration represents a fixed-length span of time represented as a count of seconds and fractions of seconds at nanosecond resolution. It is independent of any calendar and concepts like &quot;day&quot; or &quot;month&quot;. Range is approximately 10,000 years. # Specifies the default maximum duration (timeout) for streams to this service. Duration is computed from the beginning of the stream until the response has been completely processed, including all retries. A stream that does not complete in this duration is closed.
       # If not specified, there will be no timeout limit, i.e. the maximum duration is infinite.
+      # This value can be overridden in the PathMatcher configuration of the UrlMap that references this backend service.
       # This field is only allowed when the loadBalancingScheme of the backend service is INTERNAL_SELF_MANAGED.
     &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
     &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
@@ -1397,7 +1382,7 @@
   &quot;subsetting&quot;: { # Subsetting configuration for this BackendService. Currently this is applicable only for Internal TCP/UDP load balancing and Internal HTTP(S) load balancing.
     &quot;policy&quot;: &quot;A String&quot;,
   },
-  &quot;timeoutSec&quot;: 42, # The backend service timeout has a different meaning depending on the type of load balancer. For more information see,  Backend service settings The default is 30 seconds. The full range of timeout values allowed is 1 - 2,147,483,647 seconds.
+  &quot;timeoutSec&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true. Instead, use maxStreamDuration.
 }
 
   requestId: string, An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.
@@ -1607,22 +1592,16 @@
           &quot;A String&quot;,
         ],
       },
-      &quot;circuitBreakers&quot;: { # Settings controlling the volume of connections to a backend service. # Settings controlling the volume of connections to a backend service. If not set, this feature is considered disabled.
-          #
-          # This field is applicable to either:
-          # - A regional backend service with the service_protocol set to HTTP, HTTPS, or HTTP2, and load_balancing_scheme set to INTERNAL_MANAGED.
-          # - A global backend service with the load_balancing_scheme set to INTERNAL_SELF_MANAGED.
-          #
-          # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
+      &quot;circuitBreakers&quot;: { # Settings controlling the volume of connections to a backend service.
         &quot;connectTimeout&quot;: { # A Duration represents a fixed-length span of time represented as a count of seconds and fractions of seconds at nanosecond resolution. It is independent of any calendar and concepts like &quot;day&quot; or &quot;month&quot;. Range is approximately 10,000 years. # The timeout for new network connections to hosts.
           &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
           &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
         },
-        &quot;maxConnections&quot;: 42, # The maximum number of connections to the backend service. If not specified, there is no limit.
-        &quot;maxPendingRequests&quot;: 42, # The maximum number of pending requests allowed to the backend service. If not specified, there is no limit.
+        &quot;maxConnections&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
+        &quot;maxPendingRequests&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
         &quot;maxRequests&quot;: 42, # The maximum number of parallel requests that allowed to the backend service. If not specified, there is no limit.
-        &quot;maxRequestsPerConnection&quot;: 42, # Maximum requests for a single connection to the backend service. This parameter is respected by both the HTTP/1.1 and HTTP/2 implementations. If not specified, there is no limit. Setting this parameter to 1 will effectively disable keep alive.
-        &quot;maxRetries&quot;: 42, # The maximum number of parallel retries allowed to the backend cluster. If not specified, the default is 1.
+        &quot;maxRequestsPerConnection&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
+        &quot;maxRetries&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
       },
       &quot;connectionDraining&quot;: { # Message containing connection draining configuration.
         &quot;drainingTimeoutSec&quot;: 42, # Configures a duration timeout for existing requests on a removed backend instance. For supported load balancers and protocols, as described in Enabling connection draining.
@@ -1718,6 +1697,7 @@
       },
       &quot;maxStreamDuration&quot;: { # A Duration represents a fixed-length span of time represented as a count of seconds and fractions of seconds at nanosecond resolution. It is independent of any calendar and concepts like &quot;day&quot; or &quot;month&quot;. Range is approximately 10,000 years. # Specifies the default maximum duration (timeout) for streams to this service. Duration is computed from the beginning of the stream until the response has been completely processed, including all retries. A stream that does not complete in this duration is closed.
           # If not specified, there will be no timeout limit, i.e. the maximum duration is infinite.
+          # This value can be overridden in the PathMatcher configuration of the UrlMap that references this backend service.
           # This field is only allowed when the loadBalancingScheme of the backend service is INTERNAL_SELF_MANAGED.
         &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
         &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
@@ -1792,7 +1772,7 @@
       &quot;subsetting&quot;: { # Subsetting configuration for this BackendService. Currently this is applicable only for Internal TCP/UDP load balancing and Internal HTTP(S) load balancing.
         &quot;policy&quot;: &quot;A String&quot;,
       },
-      &quot;timeoutSec&quot;: 42, # The backend service timeout has a different meaning depending on the type of load balancer. For more information see,  Backend service settings The default is 30 seconds. The full range of timeout values allowed is 1 - 2,147,483,647 seconds.
+      &quot;timeoutSec&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true. Instead, use maxStreamDuration.
     },
   ],
   &quot;kind&quot;: &quot;compute#backendServiceList&quot;, # [Output Only] Type of resource. Always compute#backendServiceList for lists of backend services.
@@ -1945,22 +1925,16 @@
       &quot;A String&quot;,
     ],
   },
-  &quot;circuitBreakers&quot;: { # Settings controlling the volume of connections to a backend service. # Settings controlling the volume of connections to a backend service. If not set, this feature is considered disabled.
-      # 
-      # This field is applicable to either:
-      # - A regional backend service with the service_protocol set to HTTP, HTTPS, or HTTP2, and load_balancing_scheme set to INTERNAL_MANAGED.
-      # - A global backend service with the load_balancing_scheme set to INTERNAL_SELF_MANAGED.
-      # 
-      # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
+  &quot;circuitBreakers&quot;: { # Settings controlling the volume of connections to a backend service.
     &quot;connectTimeout&quot;: { # A Duration represents a fixed-length span of time represented as a count of seconds and fractions of seconds at nanosecond resolution. It is independent of any calendar and concepts like &quot;day&quot; or &quot;month&quot;. Range is approximately 10,000 years. # The timeout for new network connections to hosts.
       &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
       &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
     },
-    &quot;maxConnections&quot;: 42, # The maximum number of connections to the backend service. If not specified, there is no limit.
-    &quot;maxPendingRequests&quot;: 42, # The maximum number of pending requests allowed to the backend service. If not specified, there is no limit.
+    &quot;maxConnections&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
+    &quot;maxPendingRequests&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
     &quot;maxRequests&quot;: 42, # The maximum number of parallel requests that allowed to the backend service. If not specified, there is no limit.
-    &quot;maxRequestsPerConnection&quot;: 42, # Maximum requests for a single connection to the backend service. This parameter is respected by both the HTTP/1.1 and HTTP/2 implementations. If not specified, there is no limit. Setting this parameter to 1 will effectively disable keep alive.
-    &quot;maxRetries&quot;: 42, # The maximum number of parallel retries allowed to the backend cluster. If not specified, the default is 1.
+    &quot;maxRequestsPerConnection&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
+    &quot;maxRetries&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
   },
   &quot;connectionDraining&quot;: { # Message containing connection draining configuration.
     &quot;drainingTimeoutSec&quot;: 42, # Configures a duration timeout for existing requests on a removed backend instance. For supported load balancers and protocols, as described in Enabling connection draining.
@@ -2056,6 +2030,7 @@
   },
   &quot;maxStreamDuration&quot;: { # A Duration represents a fixed-length span of time represented as a count of seconds and fractions of seconds at nanosecond resolution. It is independent of any calendar and concepts like &quot;day&quot; or &quot;month&quot;. Range is approximately 10,000 years. # Specifies the default maximum duration (timeout) for streams to this service. Duration is computed from the beginning of the stream until the response has been completely processed, including all retries. A stream that does not complete in this duration is closed.
       # If not specified, there will be no timeout limit, i.e. the maximum duration is infinite.
+      # This value can be overridden in the PathMatcher configuration of the UrlMap that references this backend service.
       # This field is only allowed when the loadBalancingScheme of the backend service is INTERNAL_SELF_MANAGED.
     &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
     &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
@@ -2130,7 +2105,7 @@
   &quot;subsetting&quot;: { # Subsetting configuration for this BackendService. Currently this is applicable only for Internal TCP/UDP load balancing and Internal HTTP(S) load balancing.
     &quot;policy&quot;: &quot;A String&quot;,
   },
-  &quot;timeoutSec&quot;: 42, # The backend service timeout has a different meaning depending on the type of load balancer. For more information see,  Backend service settings The default is 30 seconds. The full range of timeout values allowed is 1 - 2,147,483,647 seconds.
+  &quot;timeoutSec&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true. Instead, use maxStreamDuration.
 }
 
   requestId: string, An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.
@@ -2433,22 +2408,16 @@
       &quot;A String&quot;,
     ],
   },
-  &quot;circuitBreakers&quot;: { # Settings controlling the volume of connections to a backend service. # Settings controlling the volume of connections to a backend service. If not set, this feature is considered disabled.
-      # 
-      # This field is applicable to either:
-      # - A regional backend service with the service_protocol set to HTTP, HTTPS, or HTTP2, and load_balancing_scheme set to INTERNAL_MANAGED.
-      # - A global backend service with the load_balancing_scheme set to INTERNAL_SELF_MANAGED.
-      # 
-      # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
+  &quot;circuitBreakers&quot;: { # Settings controlling the volume of connections to a backend service.
     &quot;connectTimeout&quot;: { # A Duration represents a fixed-length span of time represented as a count of seconds and fractions of seconds at nanosecond resolution. It is independent of any calendar and concepts like &quot;day&quot; or &quot;month&quot;. Range is approximately 10,000 years. # The timeout for new network connections to hosts.
       &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
       &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
     },
-    &quot;maxConnections&quot;: 42, # The maximum number of connections to the backend service. If not specified, there is no limit.
-    &quot;maxPendingRequests&quot;: 42, # The maximum number of pending requests allowed to the backend service. If not specified, there is no limit.
+    &quot;maxConnections&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
+    &quot;maxPendingRequests&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
     &quot;maxRequests&quot;: 42, # The maximum number of parallel requests that allowed to the backend service. If not specified, there is no limit.
-    &quot;maxRequestsPerConnection&quot;: 42, # Maximum requests for a single connection to the backend service. This parameter is respected by both the HTTP/1.1 and HTTP/2 implementations. If not specified, there is no limit. Setting this parameter to 1 will effectively disable keep alive.
-    &quot;maxRetries&quot;: 42, # The maximum number of parallel retries allowed to the backend cluster. If not specified, the default is 1.
+    &quot;maxRequestsPerConnection&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
+    &quot;maxRetries&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
   },
   &quot;connectionDraining&quot;: { # Message containing connection draining configuration.
     &quot;drainingTimeoutSec&quot;: 42, # Configures a duration timeout for existing requests on a removed backend instance. For supported load balancers and protocols, as described in Enabling connection draining.
@@ -2544,6 +2513,7 @@
   },
   &quot;maxStreamDuration&quot;: { # A Duration represents a fixed-length span of time represented as a count of seconds and fractions of seconds at nanosecond resolution. It is independent of any calendar and concepts like &quot;day&quot; or &quot;month&quot;. Range is approximately 10,000 years. # Specifies the default maximum duration (timeout) for streams to this service. Duration is computed from the beginning of the stream until the response has been completely processed, including all retries. A stream that does not complete in this duration is closed.
       # If not specified, there will be no timeout limit, i.e. the maximum duration is infinite.
+      # This value can be overridden in the PathMatcher configuration of the UrlMap that references this backend service.
       # This field is only allowed when the loadBalancingScheme of the backend service is INTERNAL_SELF_MANAGED.
     &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
     &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
@@ -2618,7 +2588,7 @@
   &quot;subsetting&quot;: { # Subsetting configuration for this BackendService. Currently this is applicable only for Internal TCP/UDP load balancing and Internal HTTP(S) load balancing.
     &quot;policy&quot;: &quot;A String&quot;,
   },
-  &quot;timeoutSec&quot;: 42, # The backend service timeout has a different meaning depending on the type of load balancer. For more information see,  Backend service settings The default is 30 seconds. The full range of timeout values allowed is 1 - 2,147,483,647 seconds.
+  &quot;timeoutSec&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true. Instead, use maxStreamDuration.
 }
 
   requestId: string, An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.
diff --git a/docs/dyn/compute_beta.forwardingRules.html b/docs/dyn/compute_beta.forwardingRules.html
index 81afa99..20290bc 100644
--- a/docs/dyn/compute_beta.forwardingRules.html
+++ b/docs/dyn/compute_beta.forwardingRules.html
@@ -170,17 +170,19 @@
               # For Private Service Connect forwarding rules that forward traffic to Google APIs, IP address must be provided.
           &quot;IPProtocol&quot;: &quot;A String&quot;, # The IP protocol to which this rule applies.
               #
-              # For protocol forwarding, valid options are TCP, UDP, ESP, AH, SCTP and ICMP.
+              # For protocol forwarding, valid options are TCP, UDP, ESP, AH, SCTP, ICMP and L3_DEFAULT.
               #
               # The valid IP protocols are different for different load balancing products:
-              # - Internal TCP/UDP Load Balancing: The load balancing scheme is INTERNAL, and one of TCP, UDP or ALL is valid.
+              # - Internal TCP/UDP Load Balancing: The load balancing scheme is INTERNAL, and one of TCP, UDP or L3_DEFAULT is valid.
               # - Traffic Director: The load balancing scheme is INTERNAL_SELF_MANAGED, and only TCP is valid.
               # - Internal HTTP(S) Load Balancing: The load balancing scheme is INTERNAL_MANAGED, and only TCP is valid.
               # - HTTP(S), SSL Proxy, and TCP Proxy Load Balancing: The load balancing scheme is EXTERNAL and only TCP is valid.
-              # - Network Load Balancing: The load balancing scheme is EXTERNAL, and one of TCP or UDP is valid.
-          &quot;allPorts&quot;: True or False, # This field is used along with the backend_service field for internal load balancing or with the target field for internal TargetInstance. This field cannot be used with port or portRange fields.
+              # - Network Load Balancing: The load balancing scheme is EXTERNAL, and one of TCP, UDP or L3_DEFAULT is valid.
+          &quot;allPorts&quot;: True or False, # This field is used along with the backend_service field for Internal TCP/UDP Load Balancing or Network Load Balancing, or with the target field for internal and external TargetInstance.
               #
-              # When the load balancing scheme is INTERNAL and protocol is TCP/UDP, specify this field to allow packets addressed to any ports will be forwarded to the backends configured with this forwarding rule.
+              # You can only use one of ports and port_range, or allPorts. The three are mutually exclusive.
+              #
+              # For TCP, UDP and SCTP traffic, packets addressed to any ports will be forwarded to the target or backendService.
           &quot;allowGlobalAccess&quot;: True or False, # This field is used along with the backend_service field for internal load balancing or with the target field for internal TargetInstance. If the field is set to TRUE, clients can access ILB from all regions. Otherwise only allows access from clients in the same region as the internal load balancer.
           &quot;backendService&quot;: &quot;A String&quot;, # Identifies the backend service to which the forwarding rule sends traffic. Required for Internal TCP/UDP Load Balancing and Network Load Balancing; must be omitted for all other load balancer types.
           &quot;creationTimestamp&quot;: &quot;A String&quot;, # [Output Only] Creation timestamp in RFC3339 text format.
@@ -247,9 +249,15 @@
               # For regional ForwardingRule, the valid values are PREMIUM and STANDARD. For GlobalForwardingRule, the valid value is PREMIUM.
               #
               # If this field is not specified, it is assumed to be PREMIUM. If IPAddress is specified, this value must be equal to the networkTier of the Address.
-          &quot;portRange&quot;: &quot;A String&quot;, # This field can be used only if: * Load balancing scheme is one of EXTERNAL,  INTERNAL_SELF_MANAGED or INTERNAL_MANAGED, and * IPProtocol is one of TCP, UDP, or SCTP.
+          &quot;portRange&quot;: &quot;A String&quot;, # This field can be used only if:
+              # - Load balancing scheme is one of EXTERNAL,  INTERNAL_SELF_MANAGED or INTERNAL_MANAGED
+              # - IPProtocol is one of TCP, UDP, or SCTP.
               #
-              # Packets addressed to ports in the specified range will be forwarded to target or  backend_service. You can only use one of ports, port_range, or allPorts. The three are mutually exclusive. Forwarding rules with the same [IPAddress, IPProtocol] pair must have disjoint port ranges.
+              # Packets addressed to ports in the specified range will be forwarded to target or  backend_service.
+              #
+              # You can only use one of ports, port_range, or allPorts. The three are mutually exclusive.
+              #
+              # Forwarding rules with the same [IPAddress, IPProtocol] pair must have disjoint ports.
               #
               # Some types of forwarding target have constraints on the acceptable ports:
               # - TargetHttpProxy: 80, 8080
@@ -264,12 +272,13 @@
               #
               # You can specify a list of up to five ports, which can be non-contiguous.
               #
-              # For Internal TCP/UDP Load Balancing, if you specify allPorts, you should not specify ports.
+              # Forwarding rules with the same [IPAddress, IPProtocol] pair must have disjoint ports.
               #
               # For more information, see [Port specifications](/load-balancing/docs/forwarding-rule-concepts#port_specifications).
             &quot;A String&quot;,
           ],
           &quot;pscConnectionId&quot;: &quot;A String&quot;, # [Output Only] The PSC connection id of the PSC Forwarding Rule.
+          &quot;pscConnectionStatus&quot;: &quot;A String&quot;,
           &quot;region&quot;: &quot;A String&quot;, # [Output Only] URL of the region where the regional forwarding rule resides. This field is not applicable to global forwarding rules. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.
           &quot;selfLink&quot;: &quot;A String&quot;, # [Output Only] Server-defined URL for the resource.
           &quot;serviceDirectoryRegistrations&quot;: [ # Service Directory resources to register this forwarding rule with. Currently, only supports a single Service Directory resource.
@@ -467,17 +476,19 @@
       # For Private Service Connect forwarding rules that forward traffic to Google APIs, IP address must be provided.
   &quot;IPProtocol&quot;: &quot;A String&quot;, # The IP protocol to which this rule applies.
       #
-      # For protocol forwarding, valid options are TCP, UDP, ESP, AH, SCTP and ICMP.
+      # For protocol forwarding, valid options are TCP, UDP, ESP, AH, SCTP, ICMP and L3_DEFAULT.
       #
       # The valid IP protocols are different for different load balancing products:
-      # - Internal TCP/UDP Load Balancing: The load balancing scheme is INTERNAL, and one of TCP, UDP or ALL is valid.
+      # - Internal TCP/UDP Load Balancing: The load balancing scheme is INTERNAL, and one of TCP, UDP or L3_DEFAULT is valid.
       # - Traffic Director: The load balancing scheme is INTERNAL_SELF_MANAGED, and only TCP is valid.
       # - Internal HTTP(S) Load Balancing: The load balancing scheme is INTERNAL_MANAGED, and only TCP is valid.
       # - HTTP(S), SSL Proxy, and TCP Proxy Load Balancing: The load balancing scheme is EXTERNAL and only TCP is valid.
-      # - Network Load Balancing: The load balancing scheme is EXTERNAL, and one of TCP or UDP is valid.
-  &quot;allPorts&quot;: True or False, # This field is used along with the backend_service field for internal load balancing or with the target field for internal TargetInstance. This field cannot be used with port or portRange fields.
+      # - Network Load Balancing: The load balancing scheme is EXTERNAL, and one of TCP, UDP or L3_DEFAULT is valid.
+  &quot;allPorts&quot;: True or False, # This field is used along with the backend_service field for Internal TCP/UDP Load Balancing or Network Load Balancing, or with the target field for internal and external TargetInstance.
       #
-      # When the load balancing scheme is INTERNAL and protocol is TCP/UDP, specify this field to allow packets addressed to any ports will be forwarded to the backends configured with this forwarding rule.
+      # You can only use one of ports and port_range, or allPorts. The three are mutually exclusive.
+      #
+      # For TCP, UDP and SCTP traffic, packets addressed to any ports will be forwarded to the target or backendService.
   &quot;allowGlobalAccess&quot;: True or False, # This field is used along with the backend_service field for internal load balancing or with the target field for internal TargetInstance. If the field is set to TRUE, clients can access ILB from all regions. Otherwise only allows access from clients in the same region as the internal load balancer.
   &quot;backendService&quot;: &quot;A String&quot;, # Identifies the backend service to which the forwarding rule sends traffic. Required for Internal TCP/UDP Load Balancing and Network Load Balancing; must be omitted for all other load balancer types.
   &quot;creationTimestamp&quot;: &quot;A String&quot;, # [Output Only] Creation timestamp in RFC3339 text format.
@@ -544,9 +555,15 @@
       # For regional ForwardingRule, the valid values are PREMIUM and STANDARD. For GlobalForwardingRule, the valid value is PREMIUM.
       #
       # If this field is not specified, it is assumed to be PREMIUM. If IPAddress is specified, this value must be equal to the networkTier of the Address.
-  &quot;portRange&quot;: &quot;A String&quot;, # This field can be used only if: * Load balancing scheme is one of EXTERNAL,  INTERNAL_SELF_MANAGED or INTERNAL_MANAGED, and * IPProtocol is one of TCP, UDP, or SCTP.
+  &quot;portRange&quot;: &quot;A String&quot;, # This field can be used only if:
+      # - Load balancing scheme is one of EXTERNAL,  INTERNAL_SELF_MANAGED or INTERNAL_MANAGED
+      # - IPProtocol is one of TCP, UDP, or SCTP.
       #
-      # Packets addressed to ports in the specified range will be forwarded to target or  backend_service. You can only use one of ports, port_range, or allPorts. The three are mutually exclusive. Forwarding rules with the same [IPAddress, IPProtocol] pair must have disjoint port ranges.
+      # Packets addressed to ports in the specified range will be forwarded to target or  backend_service.
+      #
+      # You can only use one of ports, port_range, or allPorts. The three are mutually exclusive.
+      #
+      # Forwarding rules with the same [IPAddress, IPProtocol] pair must have disjoint ports.
       #
       # Some types of forwarding target have constraints on the acceptable ports:
       # - TargetHttpProxy: 80, 8080
@@ -561,12 +578,13 @@
       #
       # You can specify a list of up to five ports, which can be non-contiguous.
       #
-      # For Internal TCP/UDP Load Balancing, if you specify allPorts, you should not specify ports.
+      # Forwarding rules with the same [IPAddress, IPProtocol] pair must have disjoint ports.
       #
       # For more information, see [Port specifications](/load-balancing/docs/forwarding-rule-concepts#port_specifications).
     &quot;A String&quot;,
   ],
   &quot;pscConnectionId&quot;: &quot;A String&quot;, # [Output Only] The PSC connection id of the PSC Forwarding Rule.
+  &quot;pscConnectionStatus&quot;: &quot;A String&quot;,
   &quot;region&quot;: &quot;A String&quot;, # [Output Only] URL of the region where the regional forwarding rule resides. This field is not applicable to global forwarding rules. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.
   &quot;selfLink&quot;: &quot;A String&quot;, # [Output Only] Server-defined URL for the resource.
   &quot;serviceDirectoryRegistrations&quot;: [ # Service Directory resources to register this forwarding rule with. Currently, only supports a single Service Directory resource.
@@ -633,17 +651,19 @@
       # For Private Service Connect forwarding rules that forward traffic to Google APIs, IP address must be provided.
   &quot;IPProtocol&quot;: &quot;A String&quot;, # The IP protocol to which this rule applies.
       # 
-      # For protocol forwarding, valid options are TCP, UDP, ESP, AH, SCTP and ICMP.
+      # For protocol forwarding, valid options are TCP, UDP, ESP, AH, SCTP, ICMP and L3_DEFAULT.
       # 
       # The valid IP protocols are different for different load balancing products:
-      # - Internal TCP/UDP Load Balancing: The load balancing scheme is INTERNAL, and one of TCP, UDP or ALL is valid.
+      # - Internal TCP/UDP Load Balancing: The load balancing scheme is INTERNAL, and one of TCP, UDP or L3_DEFAULT is valid.
       # - Traffic Director: The load balancing scheme is INTERNAL_SELF_MANAGED, and only TCP is valid.
       # - Internal HTTP(S) Load Balancing: The load balancing scheme is INTERNAL_MANAGED, and only TCP is valid.
       # - HTTP(S), SSL Proxy, and TCP Proxy Load Balancing: The load balancing scheme is EXTERNAL and only TCP is valid.
-      # - Network Load Balancing: The load balancing scheme is EXTERNAL, and one of TCP or UDP is valid.
-  &quot;allPorts&quot;: True or False, # This field is used along with the backend_service field for internal load balancing or with the target field for internal TargetInstance. This field cannot be used with port or portRange fields.
+      # - Network Load Balancing: The load balancing scheme is EXTERNAL, and one of TCP, UDP or L3_DEFAULT is valid.
+  &quot;allPorts&quot;: True or False, # This field is used along with the backend_service field for Internal TCP/UDP Load Balancing or Network Load Balancing, or with the target field for internal and external TargetInstance.
       # 
-      # When the load balancing scheme is INTERNAL and protocol is TCP/UDP, specify this field to allow packets addressed to any ports will be forwarded to the backends configured with this forwarding rule.
+      # You can only use one of ports and port_range, or allPorts. The three are mutually exclusive.
+      # 
+      # For TCP, UDP and SCTP traffic, packets addressed to any ports will be forwarded to the target or backendService.
   &quot;allowGlobalAccess&quot;: True or False, # This field is used along with the backend_service field for internal load balancing or with the target field for internal TargetInstance. If the field is set to TRUE, clients can access ILB from all regions. Otherwise only allows access from clients in the same region as the internal load balancer.
   &quot;backendService&quot;: &quot;A String&quot;, # Identifies the backend service to which the forwarding rule sends traffic. Required for Internal TCP/UDP Load Balancing and Network Load Balancing; must be omitted for all other load balancer types.
   &quot;creationTimestamp&quot;: &quot;A String&quot;, # [Output Only] Creation timestamp in RFC3339 text format.
@@ -710,9 +730,15 @@
       # For regional ForwardingRule, the valid values are PREMIUM and STANDARD. For GlobalForwardingRule, the valid value is PREMIUM.
       # 
       # If this field is not specified, it is assumed to be PREMIUM. If IPAddress is specified, this value must be equal to the networkTier of the Address.
-  &quot;portRange&quot;: &quot;A String&quot;, # This field can be used only if: * Load balancing scheme is one of EXTERNAL,  INTERNAL_SELF_MANAGED or INTERNAL_MANAGED, and * IPProtocol is one of TCP, UDP, or SCTP.
+  &quot;portRange&quot;: &quot;A String&quot;, # This field can be used only if:
+      # - Load balancing scheme is one of EXTERNAL,  INTERNAL_SELF_MANAGED or INTERNAL_MANAGED
+      # - IPProtocol is one of TCP, UDP, or SCTP.
       # 
-      # Packets addressed to ports in the specified range will be forwarded to target or  backend_service. You can only use one of ports, port_range, or allPorts. The three are mutually exclusive. Forwarding rules with the same [IPAddress, IPProtocol] pair must have disjoint port ranges.
+      # Packets addressed to ports in the specified range will be forwarded to target or  backend_service.
+      # 
+      # You can only use one of ports, port_range, or allPorts. The three are mutually exclusive.
+      # 
+      # Forwarding rules with the same [IPAddress, IPProtocol] pair must have disjoint ports.
       # 
       # Some types of forwarding target have constraints on the acceptable ports:
       # - TargetHttpProxy: 80, 8080
@@ -727,12 +753,13 @@
       # 
       # You can specify a list of up to five ports, which can be non-contiguous.
       # 
-      # For Internal TCP/UDP Load Balancing, if you specify allPorts, you should not specify ports.
+      # Forwarding rules with the same [IPAddress, IPProtocol] pair must have disjoint ports.
       # 
       # For more information, see [Port specifications](/load-balancing/docs/forwarding-rule-concepts#port_specifications).
     &quot;A String&quot;,
   ],
   &quot;pscConnectionId&quot;: &quot;A String&quot;, # [Output Only] The PSC connection id of the PSC Forwarding Rule.
+  &quot;pscConnectionStatus&quot;: &quot;A String&quot;,
   &quot;region&quot;: &quot;A String&quot;, # [Output Only] URL of the region where the regional forwarding rule resides. This field is not applicable to global forwarding rules. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.
   &quot;selfLink&quot;: &quot;A String&quot;, # [Output Only] Server-defined URL for the resource.
   &quot;serviceDirectoryRegistrations&quot;: [ # Service Directory resources to register this forwarding rule with. Currently, only supports a single Service Directory resource.
@@ -887,17 +914,19 @@
           # For Private Service Connect forwarding rules that forward traffic to Google APIs, IP address must be provided.
       &quot;IPProtocol&quot;: &quot;A String&quot;, # The IP protocol to which this rule applies.
           #
-          # For protocol forwarding, valid options are TCP, UDP, ESP, AH, SCTP and ICMP.
+          # For protocol forwarding, valid options are TCP, UDP, ESP, AH, SCTP, ICMP and L3_DEFAULT.
           #
           # The valid IP protocols are different for different load balancing products:
-          # - Internal TCP/UDP Load Balancing: The load balancing scheme is INTERNAL, and one of TCP, UDP or ALL is valid.
+          # - Internal TCP/UDP Load Balancing: The load balancing scheme is INTERNAL, and one of TCP, UDP or L3_DEFAULT is valid.
           # - Traffic Director: The load balancing scheme is INTERNAL_SELF_MANAGED, and only TCP is valid.
           # - Internal HTTP(S) Load Balancing: The load balancing scheme is INTERNAL_MANAGED, and only TCP is valid.
           # - HTTP(S), SSL Proxy, and TCP Proxy Load Balancing: The load balancing scheme is EXTERNAL and only TCP is valid.
-          # - Network Load Balancing: The load balancing scheme is EXTERNAL, and one of TCP or UDP is valid.
-      &quot;allPorts&quot;: True or False, # This field is used along with the backend_service field for internal load balancing or with the target field for internal TargetInstance. This field cannot be used with port or portRange fields.
+          # - Network Load Balancing: The load balancing scheme is EXTERNAL, and one of TCP, UDP or L3_DEFAULT is valid.
+      &quot;allPorts&quot;: True or False, # This field is used along with the backend_service field for Internal TCP/UDP Load Balancing or Network Load Balancing, or with the target field for internal and external TargetInstance.
           #
-          # When the load balancing scheme is INTERNAL and protocol is TCP/UDP, specify this field to allow packets addressed to any ports will be forwarded to the backends configured with this forwarding rule.
+          # You can only use one of ports and port_range, or allPorts. The three are mutually exclusive.
+          #
+          # For TCP, UDP and SCTP traffic, packets addressed to any ports will be forwarded to the target or backendService.
       &quot;allowGlobalAccess&quot;: True or False, # This field is used along with the backend_service field for internal load balancing or with the target field for internal TargetInstance. If the field is set to TRUE, clients can access ILB from all regions. Otherwise only allows access from clients in the same region as the internal load balancer.
       &quot;backendService&quot;: &quot;A String&quot;, # Identifies the backend service to which the forwarding rule sends traffic. Required for Internal TCP/UDP Load Balancing and Network Load Balancing; must be omitted for all other load balancer types.
       &quot;creationTimestamp&quot;: &quot;A String&quot;, # [Output Only] Creation timestamp in RFC3339 text format.
@@ -964,9 +993,15 @@
           # For regional ForwardingRule, the valid values are PREMIUM and STANDARD. For GlobalForwardingRule, the valid value is PREMIUM.
           #
           # If this field is not specified, it is assumed to be PREMIUM. If IPAddress is specified, this value must be equal to the networkTier of the Address.
-      &quot;portRange&quot;: &quot;A String&quot;, # This field can be used only if: * Load balancing scheme is one of EXTERNAL,  INTERNAL_SELF_MANAGED or INTERNAL_MANAGED, and * IPProtocol is one of TCP, UDP, or SCTP.
+      &quot;portRange&quot;: &quot;A String&quot;, # This field can be used only if:
+          # - Load balancing scheme is one of EXTERNAL,  INTERNAL_SELF_MANAGED or INTERNAL_MANAGED
+          # - IPProtocol is one of TCP, UDP, or SCTP.
           #
-          # Packets addressed to ports in the specified range will be forwarded to target or  backend_service. You can only use one of ports, port_range, or allPorts. The three are mutually exclusive. Forwarding rules with the same [IPAddress, IPProtocol] pair must have disjoint port ranges.
+          # Packets addressed to ports in the specified range will be forwarded to target or  backend_service.
+          #
+          # You can only use one of ports, port_range, or allPorts. The three are mutually exclusive.
+          #
+          # Forwarding rules with the same [IPAddress, IPProtocol] pair must have disjoint ports.
           #
           # Some types of forwarding target have constraints on the acceptable ports:
           # - TargetHttpProxy: 80, 8080
@@ -981,12 +1016,13 @@
           #
           # You can specify a list of up to five ports, which can be non-contiguous.
           #
-          # For Internal TCP/UDP Load Balancing, if you specify allPorts, you should not specify ports.
+          # Forwarding rules with the same [IPAddress, IPProtocol] pair must have disjoint ports.
           #
           # For more information, see [Port specifications](/load-balancing/docs/forwarding-rule-concepts#port_specifications).
         &quot;A String&quot;,
       ],
       &quot;pscConnectionId&quot;: &quot;A String&quot;, # [Output Only] The PSC connection id of the PSC Forwarding Rule.
+      &quot;pscConnectionStatus&quot;: &quot;A String&quot;,
       &quot;region&quot;: &quot;A String&quot;, # [Output Only] URL of the region where the regional forwarding rule resides. This field is not applicable to global forwarding rules. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.
       &quot;selfLink&quot;: &quot;A String&quot;, # [Output Only] Server-defined URL for the resource.
       &quot;serviceDirectoryRegistrations&quot;: [ # Service Directory resources to register this forwarding rule with. Currently, only supports a single Service Directory resource.
@@ -1084,17 +1120,19 @@
       # For Private Service Connect forwarding rules that forward traffic to Google APIs, IP address must be provided.
   &quot;IPProtocol&quot;: &quot;A String&quot;, # The IP protocol to which this rule applies.
       # 
-      # For protocol forwarding, valid options are TCP, UDP, ESP, AH, SCTP and ICMP.
+      # For protocol forwarding, valid options are TCP, UDP, ESP, AH, SCTP, ICMP and L3_DEFAULT.
       # 
       # The valid IP protocols are different for different load balancing products:
-      # - Internal TCP/UDP Load Balancing: The load balancing scheme is INTERNAL, and one of TCP, UDP or ALL is valid.
+      # - Internal TCP/UDP Load Balancing: The load balancing scheme is INTERNAL, and one of TCP, UDP or L3_DEFAULT is valid.
       # - Traffic Director: The load balancing scheme is INTERNAL_SELF_MANAGED, and only TCP is valid.
       # - Internal HTTP(S) Load Balancing: The load balancing scheme is INTERNAL_MANAGED, and only TCP is valid.
       # - HTTP(S), SSL Proxy, and TCP Proxy Load Balancing: The load balancing scheme is EXTERNAL and only TCP is valid.
-      # - Network Load Balancing: The load balancing scheme is EXTERNAL, and one of TCP or UDP is valid.
-  &quot;allPorts&quot;: True or False, # This field is used along with the backend_service field for internal load balancing or with the target field for internal TargetInstance. This field cannot be used with port or portRange fields.
+      # - Network Load Balancing: The load balancing scheme is EXTERNAL, and one of TCP, UDP or L3_DEFAULT is valid.
+  &quot;allPorts&quot;: True or False, # This field is used along with the backend_service field for Internal TCP/UDP Load Balancing or Network Load Balancing, or with the target field for internal and external TargetInstance.
       # 
-      # When the load balancing scheme is INTERNAL and protocol is TCP/UDP, specify this field to allow packets addressed to any ports will be forwarded to the backends configured with this forwarding rule.
+      # You can only use one of ports and port_range, or allPorts. The three are mutually exclusive.
+      # 
+      # For TCP, UDP and SCTP traffic, packets addressed to any ports will be forwarded to the target or backendService.
   &quot;allowGlobalAccess&quot;: True or False, # This field is used along with the backend_service field for internal load balancing or with the target field for internal TargetInstance. If the field is set to TRUE, clients can access ILB from all regions. Otherwise only allows access from clients in the same region as the internal load balancer.
   &quot;backendService&quot;: &quot;A String&quot;, # Identifies the backend service to which the forwarding rule sends traffic. Required for Internal TCP/UDP Load Balancing and Network Load Balancing; must be omitted for all other load balancer types.
   &quot;creationTimestamp&quot;: &quot;A String&quot;, # [Output Only] Creation timestamp in RFC3339 text format.
@@ -1161,9 +1199,15 @@
       # For regional ForwardingRule, the valid values are PREMIUM and STANDARD. For GlobalForwardingRule, the valid value is PREMIUM.
       # 
       # If this field is not specified, it is assumed to be PREMIUM. If IPAddress is specified, this value must be equal to the networkTier of the Address.
-  &quot;portRange&quot;: &quot;A String&quot;, # This field can be used only if: * Load balancing scheme is one of EXTERNAL,  INTERNAL_SELF_MANAGED or INTERNAL_MANAGED, and * IPProtocol is one of TCP, UDP, or SCTP.
+  &quot;portRange&quot;: &quot;A String&quot;, # This field can be used only if:
+      # - Load balancing scheme is one of EXTERNAL,  INTERNAL_SELF_MANAGED or INTERNAL_MANAGED
+      # - IPProtocol is one of TCP, UDP, or SCTP.
       # 
-      # Packets addressed to ports in the specified range will be forwarded to target or  backend_service. You can only use one of ports, port_range, or allPorts. The three are mutually exclusive. Forwarding rules with the same [IPAddress, IPProtocol] pair must have disjoint port ranges.
+      # Packets addressed to ports in the specified range will be forwarded to target or  backend_service.
+      # 
+      # You can only use one of ports, port_range, or allPorts. The three are mutually exclusive.
+      # 
+      # Forwarding rules with the same [IPAddress, IPProtocol] pair must have disjoint ports.
       # 
       # Some types of forwarding target have constraints on the acceptable ports:
       # - TargetHttpProxy: 80, 8080
@@ -1178,12 +1222,13 @@
       # 
       # You can specify a list of up to five ports, which can be non-contiguous.
       # 
-      # For Internal TCP/UDP Load Balancing, if you specify allPorts, you should not specify ports.
+      # Forwarding rules with the same [IPAddress, IPProtocol] pair must have disjoint ports.
       # 
       # For more information, see [Port specifications](/load-balancing/docs/forwarding-rule-concepts#port_specifications).
     &quot;A String&quot;,
   ],
   &quot;pscConnectionId&quot;: &quot;A String&quot;, # [Output Only] The PSC connection id of the PSC Forwarding Rule.
+  &quot;pscConnectionStatus&quot;: &quot;A String&quot;,
   &quot;region&quot;: &quot;A String&quot;, # [Output Only] URL of the region where the regional forwarding rule resides. This field is not applicable to global forwarding rules. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.
   &quot;selfLink&quot;: &quot;A String&quot;, # [Output Only] Server-defined URL for the resource.
   &quot;serviceDirectoryRegistrations&quot;: [ # Service Directory resources to register this forwarding rule with. Currently, only supports a single Service Directory resource.
diff --git a/docs/dyn/compute_beta.globalForwardingRules.html b/docs/dyn/compute_beta.globalForwardingRules.html
index 3cd3ebc..ec54946 100644
--- a/docs/dyn/compute_beta.globalForwardingRules.html
+++ b/docs/dyn/compute_beta.globalForwardingRules.html
@@ -226,17 +226,19 @@
       # For Private Service Connect forwarding rules that forward traffic to Google APIs, IP address must be provided.
   &quot;IPProtocol&quot;: &quot;A String&quot;, # The IP protocol to which this rule applies.
       #
-      # For protocol forwarding, valid options are TCP, UDP, ESP, AH, SCTP and ICMP.
+      # For protocol forwarding, valid options are TCP, UDP, ESP, AH, SCTP, ICMP and L3_DEFAULT.
       #
       # The valid IP protocols are different for different load balancing products:
-      # - Internal TCP/UDP Load Balancing: The load balancing scheme is INTERNAL, and one of TCP, UDP or ALL is valid.
+      # - Internal TCP/UDP Load Balancing: The load balancing scheme is INTERNAL, and one of TCP, UDP or L3_DEFAULT is valid.
       # - Traffic Director: The load balancing scheme is INTERNAL_SELF_MANAGED, and only TCP is valid.
       # - Internal HTTP(S) Load Balancing: The load balancing scheme is INTERNAL_MANAGED, and only TCP is valid.
       # - HTTP(S), SSL Proxy, and TCP Proxy Load Balancing: The load balancing scheme is EXTERNAL and only TCP is valid.
-      # - Network Load Balancing: The load balancing scheme is EXTERNAL, and one of TCP or UDP is valid.
-  &quot;allPorts&quot;: True or False, # This field is used along with the backend_service field for internal load balancing or with the target field for internal TargetInstance. This field cannot be used with port or portRange fields.
+      # - Network Load Balancing: The load balancing scheme is EXTERNAL, and one of TCP, UDP or L3_DEFAULT is valid.
+  &quot;allPorts&quot;: True or False, # This field is used along with the backend_service field for Internal TCP/UDP Load Balancing or Network Load Balancing, or with the target field for internal and external TargetInstance.
       #
-      # When the load balancing scheme is INTERNAL and protocol is TCP/UDP, specify this field to allow packets addressed to any ports will be forwarded to the backends configured with this forwarding rule.
+      # You can only use one of ports and port_range, or allPorts. The three are mutually exclusive.
+      #
+      # For TCP, UDP and SCTP traffic, packets addressed to any ports will be forwarded to the target or backendService.
   &quot;allowGlobalAccess&quot;: True or False, # This field is used along with the backend_service field for internal load balancing or with the target field for internal TargetInstance. If the field is set to TRUE, clients can access ILB from all regions. Otherwise only allows access from clients in the same region as the internal load balancer.
   &quot;backendService&quot;: &quot;A String&quot;, # Identifies the backend service to which the forwarding rule sends traffic. Required for Internal TCP/UDP Load Balancing and Network Load Balancing; must be omitted for all other load balancer types.
   &quot;creationTimestamp&quot;: &quot;A String&quot;, # [Output Only] Creation timestamp in RFC3339 text format.
@@ -303,9 +305,15 @@
       # For regional ForwardingRule, the valid values are PREMIUM and STANDARD. For GlobalForwardingRule, the valid value is PREMIUM.
       #
       # If this field is not specified, it is assumed to be PREMIUM. If IPAddress is specified, this value must be equal to the networkTier of the Address.
-  &quot;portRange&quot;: &quot;A String&quot;, # This field can be used only if: * Load balancing scheme is one of EXTERNAL,  INTERNAL_SELF_MANAGED or INTERNAL_MANAGED, and * IPProtocol is one of TCP, UDP, or SCTP.
+  &quot;portRange&quot;: &quot;A String&quot;, # This field can be used only if:
+      # - Load balancing scheme is one of EXTERNAL,  INTERNAL_SELF_MANAGED or INTERNAL_MANAGED
+      # - IPProtocol is one of TCP, UDP, or SCTP.
       #
-      # Packets addressed to ports in the specified range will be forwarded to target or  backend_service. You can only use one of ports, port_range, or allPorts. The three are mutually exclusive. Forwarding rules with the same [IPAddress, IPProtocol] pair must have disjoint port ranges.
+      # Packets addressed to ports in the specified range will be forwarded to target or  backend_service.
+      #
+      # You can only use one of ports, port_range, or allPorts. The three are mutually exclusive.
+      #
+      # Forwarding rules with the same [IPAddress, IPProtocol] pair must have disjoint ports.
       #
       # Some types of forwarding target have constraints on the acceptable ports:
       # - TargetHttpProxy: 80, 8080
@@ -320,12 +328,13 @@
       #
       # You can specify a list of up to five ports, which can be non-contiguous.
       #
-      # For Internal TCP/UDP Load Balancing, if you specify allPorts, you should not specify ports.
+      # Forwarding rules with the same [IPAddress, IPProtocol] pair must have disjoint ports.
       #
       # For more information, see [Port specifications](/load-balancing/docs/forwarding-rule-concepts#port_specifications).
     &quot;A String&quot;,
   ],
   &quot;pscConnectionId&quot;: &quot;A String&quot;, # [Output Only] The PSC connection id of the PSC Forwarding Rule.
+  &quot;pscConnectionStatus&quot;: &quot;A String&quot;,
   &quot;region&quot;: &quot;A String&quot;, # [Output Only] URL of the region where the regional forwarding rule resides. This field is not applicable to global forwarding rules. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.
   &quot;selfLink&quot;: &quot;A String&quot;, # [Output Only] Server-defined URL for the resource.
   &quot;serviceDirectoryRegistrations&quot;: [ # Service Directory resources to register this forwarding rule with. Currently, only supports a single Service Directory resource.
@@ -391,17 +400,19 @@
       # For Private Service Connect forwarding rules that forward traffic to Google APIs, IP address must be provided.
   &quot;IPProtocol&quot;: &quot;A String&quot;, # The IP protocol to which this rule applies.
       # 
-      # For protocol forwarding, valid options are TCP, UDP, ESP, AH, SCTP and ICMP.
+      # For protocol forwarding, valid options are TCP, UDP, ESP, AH, SCTP, ICMP and L3_DEFAULT.
       # 
       # The valid IP protocols are different for different load balancing products:
-      # - Internal TCP/UDP Load Balancing: The load balancing scheme is INTERNAL, and one of TCP, UDP or ALL is valid.
+      # - Internal TCP/UDP Load Balancing: The load balancing scheme is INTERNAL, and one of TCP, UDP or L3_DEFAULT is valid.
       # - Traffic Director: The load balancing scheme is INTERNAL_SELF_MANAGED, and only TCP is valid.
       # - Internal HTTP(S) Load Balancing: The load balancing scheme is INTERNAL_MANAGED, and only TCP is valid.
       # - HTTP(S), SSL Proxy, and TCP Proxy Load Balancing: The load balancing scheme is EXTERNAL and only TCP is valid.
-      # - Network Load Balancing: The load balancing scheme is EXTERNAL, and one of TCP or UDP is valid.
-  &quot;allPorts&quot;: True or False, # This field is used along with the backend_service field for internal load balancing or with the target field for internal TargetInstance. This field cannot be used with port or portRange fields.
+      # - Network Load Balancing: The load balancing scheme is EXTERNAL, and one of TCP, UDP or L3_DEFAULT is valid.
+  &quot;allPorts&quot;: True or False, # This field is used along with the backend_service field for Internal TCP/UDP Load Balancing or Network Load Balancing, or with the target field for internal and external TargetInstance.
       # 
-      # When the load balancing scheme is INTERNAL and protocol is TCP/UDP, specify this field to allow packets addressed to any ports will be forwarded to the backends configured with this forwarding rule.
+      # You can only use one of ports and port_range, or allPorts. The three are mutually exclusive.
+      # 
+      # For TCP, UDP and SCTP traffic, packets addressed to any ports will be forwarded to the target or backendService.
   &quot;allowGlobalAccess&quot;: True or False, # This field is used along with the backend_service field for internal load balancing or with the target field for internal TargetInstance. If the field is set to TRUE, clients can access ILB from all regions. Otherwise only allows access from clients in the same region as the internal load balancer.
   &quot;backendService&quot;: &quot;A String&quot;, # Identifies the backend service to which the forwarding rule sends traffic. Required for Internal TCP/UDP Load Balancing and Network Load Balancing; must be omitted for all other load balancer types.
   &quot;creationTimestamp&quot;: &quot;A String&quot;, # [Output Only] Creation timestamp in RFC3339 text format.
@@ -468,9 +479,15 @@
       # For regional ForwardingRule, the valid values are PREMIUM and STANDARD. For GlobalForwardingRule, the valid value is PREMIUM.
       # 
       # If this field is not specified, it is assumed to be PREMIUM. If IPAddress is specified, this value must be equal to the networkTier of the Address.
-  &quot;portRange&quot;: &quot;A String&quot;, # This field can be used only if: * Load balancing scheme is one of EXTERNAL,  INTERNAL_SELF_MANAGED or INTERNAL_MANAGED, and * IPProtocol is one of TCP, UDP, or SCTP.
+  &quot;portRange&quot;: &quot;A String&quot;, # This field can be used only if:
+      # - Load balancing scheme is one of EXTERNAL,  INTERNAL_SELF_MANAGED or INTERNAL_MANAGED
+      # - IPProtocol is one of TCP, UDP, or SCTP.
       # 
-      # Packets addressed to ports in the specified range will be forwarded to target or  backend_service. You can only use one of ports, port_range, or allPorts. The three are mutually exclusive. Forwarding rules with the same [IPAddress, IPProtocol] pair must have disjoint port ranges.
+      # Packets addressed to ports in the specified range will be forwarded to target or  backend_service.
+      # 
+      # You can only use one of ports, port_range, or allPorts. The three are mutually exclusive.
+      # 
+      # Forwarding rules with the same [IPAddress, IPProtocol] pair must have disjoint ports.
       # 
       # Some types of forwarding target have constraints on the acceptable ports:
       # - TargetHttpProxy: 80, 8080
@@ -485,12 +502,13 @@
       # 
       # You can specify a list of up to five ports, which can be non-contiguous.
       # 
-      # For Internal TCP/UDP Load Balancing, if you specify allPorts, you should not specify ports.
+      # Forwarding rules with the same [IPAddress, IPProtocol] pair must have disjoint ports.
       # 
       # For more information, see [Port specifications](/load-balancing/docs/forwarding-rule-concepts#port_specifications).
     &quot;A String&quot;,
   ],
   &quot;pscConnectionId&quot;: &quot;A String&quot;, # [Output Only] The PSC connection id of the PSC Forwarding Rule.
+  &quot;pscConnectionStatus&quot;: &quot;A String&quot;,
   &quot;region&quot;: &quot;A String&quot;, # [Output Only] URL of the region where the regional forwarding rule resides. This field is not applicable to global forwarding rules. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.
   &quot;selfLink&quot;: &quot;A String&quot;, # [Output Only] Server-defined URL for the resource.
   &quot;serviceDirectoryRegistrations&quot;: [ # Service Directory resources to register this forwarding rule with. Currently, only supports a single Service Directory resource.
@@ -644,17 +662,19 @@
           # For Private Service Connect forwarding rules that forward traffic to Google APIs, IP address must be provided.
       &quot;IPProtocol&quot;: &quot;A String&quot;, # The IP protocol to which this rule applies.
           #
-          # For protocol forwarding, valid options are TCP, UDP, ESP, AH, SCTP and ICMP.
+          # For protocol forwarding, valid options are TCP, UDP, ESP, AH, SCTP, ICMP and L3_DEFAULT.
           #
           # The valid IP protocols are different for different load balancing products:
-          # - Internal TCP/UDP Load Balancing: The load balancing scheme is INTERNAL, and one of TCP, UDP or ALL is valid.
+          # - Internal TCP/UDP Load Balancing: The load balancing scheme is INTERNAL, and one of TCP, UDP or L3_DEFAULT is valid.
           # - Traffic Director: The load balancing scheme is INTERNAL_SELF_MANAGED, and only TCP is valid.
           # - Internal HTTP(S) Load Balancing: The load balancing scheme is INTERNAL_MANAGED, and only TCP is valid.
           # - HTTP(S), SSL Proxy, and TCP Proxy Load Balancing: The load balancing scheme is EXTERNAL and only TCP is valid.
-          # - Network Load Balancing: The load balancing scheme is EXTERNAL, and one of TCP or UDP is valid.
-      &quot;allPorts&quot;: True or False, # This field is used along with the backend_service field for internal load balancing or with the target field for internal TargetInstance. This field cannot be used with port or portRange fields.
+          # - Network Load Balancing: The load balancing scheme is EXTERNAL, and one of TCP, UDP or L3_DEFAULT is valid.
+      &quot;allPorts&quot;: True or False, # This field is used along with the backend_service field for Internal TCP/UDP Load Balancing or Network Load Balancing, or with the target field for internal and external TargetInstance.
           #
-          # When the load balancing scheme is INTERNAL and protocol is TCP/UDP, specify this field to allow packets addressed to any ports will be forwarded to the backends configured with this forwarding rule.
+          # You can only use one of ports and port_range, or allPorts. The three are mutually exclusive.
+          #
+          # For TCP, UDP and SCTP traffic, packets addressed to any ports will be forwarded to the target or backendService.
       &quot;allowGlobalAccess&quot;: True or False, # This field is used along with the backend_service field for internal load balancing or with the target field for internal TargetInstance. If the field is set to TRUE, clients can access ILB from all regions. Otherwise only allows access from clients in the same region as the internal load balancer.
       &quot;backendService&quot;: &quot;A String&quot;, # Identifies the backend service to which the forwarding rule sends traffic. Required for Internal TCP/UDP Load Balancing and Network Load Balancing; must be omitted for all other load balancer types.
       &quot;creationTimestamp&quot;: &quot;A String&quot;, # [Output Only] Creation timestamp in RFC3339 text format.
@@ -721,9 +741,15 @@
           # For regional ForwardingRule, the valid values are PREMIUM and STANDARD. For GlobalForwardingRule, the valid value is PREMIUM.
           #
           # If this field is not specified, it is assumed to be PREMIUM. If IPAddress is specified, this value must be equal to the networkTier of the Address.
-      &quot;portRange&quot;: &quot;A String&quot;, # This field can be used only if: * Load balancing scheme is one of EXTERNAL,  INTERNAL_SELF_MANAGED or INTERNAL_MANAGED, and * IPProtocol is one of TCP, UDP, or SCTP.
+      &quot;portRange&quot;: &quot;A String&quot;, # This field can be used only if:
+          # - Load balancing scheme is one of EXTERNAL,  INTERNAL_SELF_MANAGED or INTERNAL_MANAGED
+          # - IPProtocol is one of TCP, UDP, or SCTP.
           #
-          # Packets addressed to ports in the specified range will be forwarded to target or  backend_service. You can only use one of ports, port_range, or allPorts. The three are mutually exclusive. Forwarding rules with the same [IPAddress, IPProtocol] pair must have disjoint port ranges.
+          # Packets addressed to ports in the specified range will be forwarded to target or  backend_service.
+          #
+          # You can only use one of ports, port_range, or allPorts. The three are mutually exclusive.
+          #
+          # Forwarding rules with the same [IPAddress, IPProtocol] pair must have disjoint ports.
           #
           # Some types of forwarding target have constraints on the acceptable ports:
           # - TargetHttpProxy: 80, 8080
@@ -738,12 +764,13 @@
           #
           # You can specify a list of up to five ports, which can be non-contiguous.
           #
-          # For Internal TCP/UDP Load Balancing, if you specify allPorts, you should not specify ports.
+          # Forwarding rules with the same [IPAddress, IPProtocol] pair must have disjoint ports.
           #
           # For more information, see [Port specifications](/load-balancing/docs/forwarding-rule-concepts#port_specifications).
         &quot;A String&quot;,
       ],
       &quot;pscConnectionId&quot;: &quot;A String&quot;, # [Output Only] The PSC connection id of the PSC Forwarding Rule.
+      &quot;pscConnectionStatus&quot;: &quot;A String&quot;,
       &quot;region&quot;: &quot;A String&quot;, # [Output Only] URL of the region where the regional forwarding rule resides. This field is not applicable to global forwarding rules. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.
       &quot;selfLink&quot;: &quot;A String&quot;, # [Output Only] Server-defined URL for the resource.
       &quot;serviceDirectoryRegistrations&quot;: [ # Service Directory resources to register this forwarding rule with. Currently, only supports a single Service Directory resource.
@@ -840,17 +867,19 @@
       # For Private Service Connect forwarding rules that forward traffic to Google APIs, IP address must be provided.
   &quot;IPProtocol&quot;: &quot;A String&quot;, # The IP protocol to which this rule applies.
       # 
-      # For protocol forwarding, valid options are TCP, UDP, ESP, AH, SCTP and ICMP.
+      # For protocol forwarding, valid options are TCP, UDP, ESP, AH, SCTP, ICMP and L3_DEFAULT.
       # 
       # The valid IP protocols are different for different load balancing products:
-      # - Internal TCP/UDP Load Balancing: The load balancing scheme is INTERNAL, and one of TCP, UDP or ALL is valid.
+      # - Internal TCP/UDP Load Balancing: The load balancing scheme is INTERNAL, and one of TCP, UDP or L3_DEFAULT is valid.
       # - Traffic Director: The load balancing scheme is INTERNAL_SELF_MANAGED, and only TCP is valid.
       # - Internal HTTP(S) Load Balancing: The load balancing scheme is INTERNAL_MANAGED, and only TCP is valid.
       # - HTTP(S), SSL Proxy, and TCP Proxy Load Balancing: The load balancing scheme is EXTERNAL and only TCP is valid.
-      # - Network Load Balancing: The load balancing scheme is EXTERNAL, and one of TCP or UDP is valid.
-  &quot;allPorts&quot;: True or False, # This field is used along with the backend_service field for internal load balancing or with the target field for internal TargetInstance. This field cannot be used with port or portRange fields.
+      # - Network Load Balancing: The load balancing scheme is EXTERNAL, and one of TCP, UDP or L3_DEFAULT is valid.
+  &quot;allPorts&quot;: True or False, # This field is used along with the backend_service field for Internal TCP/UDP Load Balancing or Network Load Balancing, or with the target field for internal and external TargetInstance.
       # 
-      # When the load balancing scheme is INTERNAL and protocol is TCP/UDP, specify this field to allow packets addressed to any ports will be forwarded to the backends configured with this forwarding rule.
+      # You can only use one of ports and port_range, or allPorts. The three are mutually exclusive.
+      # 
+      # For TCP, UDP and SCTP traffic, packets addressed to any ports will be forwarded to the target or backendService.
   &quot;allowGlobalAccess&quot;: True or False, # This field is used along with the backend_service field for internal load balancing or with the target field for internal TargetInstance. If the field is set to TRUE, clients can access ILB from all regions. Otherwise only allows access from clients in the same region as the internal load balancer.
   &quot;backendService&quot;: &quot;A String&quot;, # Identifies the backend service to which the forwarding rule sends traffic. Required for Internal TCP/UDP Load Balancing and Network Load Balancing; must be omitted for all other load balancer types.
   &quot;creationTimestamp&quot;: &quot;A String&quot;, # [Output Only] Creation timestamp in RFC3339 text format.
@@ -917,9 +946,15 @@
       # For regional ForwardingRule, the valid values are PREMIUM and STANDARD. For GlobalForwardingRule, the valid value is PREMIUM.
       # 
       # If this field is not specified, it is assumed to be PREMIUM. If IPAddress is specified, this value must be equal to the networkTier of the Address.
-  &quot;portRange&quot;: &quot;A String&quot;, # This field can be used only if: * Load balancing scheme is one of EXTERNAL,  INTERNAL_SELF_MANAGED or INTERNAL_MANAGED, and * IPProtocol is one of TCP, UDP, or SCTP.
+  &quot;portRange&quot;: &quot;A String&quot;, # This field can be used only if:
+      # - Load balancing scheme is one of EXTERNAL,  INTERNAL_SELF_MANAGED or INTERNAL_MANAGED
+      # - IPProtocol is one of TCP, UDP, or SCTP.
       # 
-      # Packets addressed to ports in the specified range will be forwarded to target or  backend_service. You can only use one of ports, port_range, or allPorts. The three are mutually exclusive. Forwarding rules with the same [IPAddress, IPProtocol] pair must have disjoint port ranges.
+      # Packets addressed to ports in the specified range will be forwarded to target or  backend_service.
+      # 
+      # You can only use one of ports, port_range, or allPorts. The three are mutually exclusive.
+      # 
+      # Forwarding rules with the same [IPAddress, IPProtocol] pair must have disjoint ports.
       # 
       # Some types of forwarding target have constraints on the acceptable ports:
       # - TargetHttpProxy: 80, 8080
@@ -934,12 +969,13 @@
       # 
       # You can specify a list of up to five ports, which can be non-contiguous.
       # 
-      # For Internal TCP/UDP Load Balancing, if you specify allPorts, you should not specify ports.
+      # Forwarding rules with the same [IPAddress, IPProtocol] pair must have disjoint ports.
       # 
       # For more information, see [Port specifications](/load-balancing/docs/forwarding-rule-concepts#port_specifications).
     &quot;A String&quot;,
   ],
   &quot;pscConnectionId&quot;: &quot;A String&quot;, # [Output Only] The PSC connection id of the PSC Forwarding Rule.
+  &quot;pscConnectionStatus&quot;: &quot;A String&quot;,
   &quot;region&quot;: &quot;A String&quot;, # [Output Only] URL of the region where the regional forwarding rule resides. This field is not applicable to global forwarding rules. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.
   &quot;selfLink&quot;: &quot;A String&quot;, # [Output Only] Server-defined URL for the resource.
   &quot;serviceDirectoryRegistrations&quot;: [ # Service Directory resources to register this forwarding rule with. Currently, only supports a single Service Directory resource.
diff --git a/docs/dyn/compute_beta.imageFamilyViews.html b/docs/dyn/compute_beta.imageFamilyViews.html
index b4d5a51..467c5e0 100644
--- a/docs/dyn/compute_beta.imageFamilyViews.html
+++ b/docs/dyn/compute_beta.imageFamilyViews.html
@@ -155,7 +155,13 @@
     &quot;rawDisk&quot;: { # The parameters of the raw disk image.
       &quot;containerType&quot;: &quot;A String&quot;, # The format used to encode and transmit the block device, which should be TAR. This is just a container and transmission format and not a runtime format. Provided by the client when the disk image is created.
       &quot;sha1Checksum&quot;: &quot;A String&quot;, # [Deprecated] This field is deprecated. An optional SHA1 checksum of the disk image before unpackaging provided by the client when the disk image is created.
-      &quot;source&quot;: &quot;A String&quot;, # The full Google Cloud Storage URL where the disk image is stored. You must provide either this property or the sourceDisk property but not both.
+      &quot;source&quot;: &quot;A String&quot;, # The full Google Cloud Storage URL where the disk image is stored.
+          #
+          # In order to create an image, you must provide the full or partial URL of one of the following:
+          # - The rawDisk.source URL
+          # - The sourceDisk URL
+          # - The sourceImage URL
+          # - The sourceSnapshot URL
     },
     &quot;satisfiesPzs&quot;: True or False, # [Output Only] Reserved for future use.
     &quot;selfLink&quot;: &quot;A String&quot;, # [Output Only] Server-defined URL for the resource.
@@ -183,10 +189,16 @@
         &quot;fileType&quot;: &quot;A String&quot;, # The file type of source file.
       },
     },
-    &quot;sourceDisk&quot;: &quot;A String&quot;, # URL of the source disk used to create this image. This can be a full or valid partial URL. You must provide either this property or the rawDisk.source property but not both to create an image. For example, the following are valid values:
+    &quot;sourceDisk&quot;: &quot;A String&quot;, # URL of the source disk used to create this image. For example, the following are valid values:
         # - https://www.googleapis.com/compute/v1/projects/project/zones/zone/disks/disk
         # - projects/project/zones/zone/disks/disk
         # - zones/zone/disks/disk
+        #
+        # In order to create an image, you must provide the full or partial URL of one of the following:
+        # - The rawDisk.source URL
+        # - The sourceDisk URL
+        # - The sourceImage URL
+        # - The sourceSnapshot URL
     &quot;sourceDiskEncryptionKey&quot;: { # The customer-supplied encryption key of the source disk. Required if the source disk is protected by a customer-supplied encryption key.
       &quot;kmsKeyName&quot;: &quot;A String&quot;, # The name of the encryption key that is stored in Google Cloud KMS.
       &quot;kmsKeyServiceAccount&quot;: &quot;A String&quot;, # The service account being used for the encryption request for the given KMS key. If absent, the Compute Engine default service account is used.
@@ -203,10 +215,10 @@
     &quot;sourceImage&quot;: &quot;A String&quot;, # URL of the source image used to create this image.
         #
         # In order to create an image, you must provide the full or partial URL of one of the following:
-        # - The selfLink URL
-        # - This property
         # - The rawDisk.source URL
         # - The sourceDisk URL
+        # - The sourceImage URL
+        # - The sourceSnapshot URL
     &quot;sourceImageEncryptionKey&quot;: { # The customer-supplied encryption key of the source image. Required if the source image is protected by a customer-supplied encryption key.
       &quot;kmsKeyName&quot;: &quot;A String&quot;, # The name of the encryption key that is stored in Google Cloud KMS.
       &quot;kmsKeyServiceAccount&quot;: &quot;A String&quot;, # The service account being used for the encryption request for the given KMS key. If absent, the Compute Engine default service account is used.
@@ -223,11 +235,10 @@
     &quot;sourceSnapshot&quot;: &quot;A String&quot;, # URL of the source snapshot used to create this image.
         #
         # In order to create an image, you must provide the full or partial URL of one of the following:
-        # - The selfLink URL
-        # - This property
-        # - The sourceImage URL
         # - The rawDisk.source URL
         # - The sourceDisk URL
+        # - The sourceImage URL
+        # - The sourceSnapshot URL
     &quot;sourceSnapshotEncryptionKey&quot;: { # The customer-supplied encryption key of the source snapshot. Required if the source snapshot is protected by a customer-supplied encryption key.
       &quot;kmsKeyName&quot;: &quot;A String&quot;, # The name of the encryption key that is stored in Google Cloud KMS.
       &quot;kmsKeyServiceAccount&quot;: &quot;A String&quot;, # The service account being used for the encryption request for the given KMS key. If absent, the Compute Engine default service account is used.
diff --git a/docs/dyn/compute_beta.images.html b/docs/dyn/compute_beta.images.html
index 3e1510f..9919c0e 100644
--- a/docs/dyn/compute_beta.images.html
+++ b/docs/dyn/compute_beta.images.html
@@ -353,7 +353,13 @@
   &quot;rawDisk&quot;: { # The parameters of the raw disk image.
     &quot;containerType&quot;: &quot;A String&quot;, # The format used to encode and transmit the block device, which should be TAR. This is just a container and transmission format and not a runtime format. Provided by the client when the disk image is created.
     &quot;sha1Checksum&quot;: &quot;A String&quot;, # [Deprecated] This field is deprecated. An optional SHA1 checksum of the disk image before unpackaging provided by the client when the disk image is created.
-    &quot;source&quot;: &quot;A String&quot;, # The full Google Cloud Storage URL where the disk image is stored. You must provide either this property or the sourceDisk property but not both.
+    &quot;source&quot;: &quot;A String&quot;, # The full Google Cloud Storage URL where the disk image is stored.
+        #
+        # In order to create an image, you must provide the full or partial URL of one of the following:
+        # - The rawDisk.source URL
+        # - The sourceDisk URL
+        # - The sourceImage URL
+        # - The sourceSnapshot URL
   },
   &quot;satisfiesPzs&quot;: True or False, # [Output Only] Reserved for future use.
   &quot;selfLink&quot;: &quot;A String&quot;, # [Output Only] Server-defined URL for the resource.
@@ -381,10 +387,16 @@
       &quot;fileType&quot;: &quot;A String&quot;, # The file type of source file.
     },
   },
-  &quot;sourceDisk&quot;: &quot;A String&quot;, # URL of the source disk used to create this image. This can be a full or valid partial URL. You must provide either this property or the rawDisk.source property but not both to create an image. For example, the following are valid values:
+  &quot;sourceDisk&quot;: &quot;A String&quot;, # URL of the source disk used to create this image. For example, the following are valid values:
       # - https://www.googleapis.com/compute/v1/projects/project/zones/zone/disks/disk
       # - projects/project/zones/zone/disks/disk
       # - zones/zone/disks/disk
+      #
+      # In order to create an image, you must provide the full or partial URL of one of the following:
+      # - The rawDisk.source URL
+      # - The sourceDisk URL
+      # - The sourceImage URL
+      # - The sourceSnapshot URL
   &quot;sourceDiskEncryptionKey&quot;: { # The customer-supplied encryption key of the source disk. Required if the source disk is protected by a customer-supplied encryption key.
     &quot;kmsKeyName&quot;: &quot;A String&quot;, # The name of the encryption key that is stored in Google Cloud KMS.
     &quot;kmsKeyServiceAccount&quot;: &quot;A String&quot;, # The service account being used for the encryption request for the given KMS key. If absent, the Compute Engine default service account is used.
@@ -401,10 +413,10 @@
   &quot;sourceImage&quot;: &quot;A String&quot;, # URL of the source image used to create this image.
       #
       # In order to create an image, you must provide the full or partial URL of one of the following:
-      # - The selfLink URL
-      # - This property
       # - The rawDisk.source URL
       # - The sourceDisk URL
+      # - The sourceImage URL
+      # - The sourceSnapshot URL
   &quot;sourceImageEncryptionKey&quot;: { # The customer-supplied encryption key of the source image. Required if the source image is protected by a customer-supplied encryption key.
     &quot;kmsKeyName&quot;: &quot;A String&quot;, # The name of the encryption key that is stored in Google Cloud KMS.
     &quot;kmsKeyServiceAccount&quot;: &quot;A String&quot;, # The service account being used for the encryption request for the given KMS key. If absent, the Compute Engine default service account is used.
@@ -421,11 +433,10 @@
   &quot;sourceSnapshot&quot;: &quot;A String&quot;, # URL of the source snapshot used to create this image.
       #
       # In order to create an image, you must provide the full or partial URL of one of the following:
-      # - The selfLink URL
-      # - This property
-      # - The sourceImage URL
       # - The rawDisk.source URL
       # - The sourceDisk URL
+      # - The sourceImage URL
+      # - The sourceSnapshot URL
   &quot;sourceSnapshotEncryptionKey&quot;: { # The customer-supplied encryption key of the source snapshot. Required if the source snapshot is protected by a customer-supplied encryption key.
     &quot;kmsKeyName&quot;: &quot;A String&quot;, # The name of the encryption key that is stored in Google Cloud KMS.
     &quot;kmsKeyServiceAccount&quot;: &quot;A String&quot;, # The service account being used for the encryption request for the given KMS key. If absent, the Compute Engine default service account is used.
@@ -514,7 +525,13 @@
   &quot;rawDisk&quot;: { # The parameters of the raw disk image.
     &quot;containerType&quot;: &quot;A String&quot;, # The format used to encode and transmit the block device, which should be TAR. This is just a container and transmission format and not a runtime format. Provided by the client when the disk image is created.
     &quot;sha1Checksum&quot;: &quot;A String&quot;, # [Deprecated] This field is deprecated. An optional SHA1 checksum of the disk image before unpackaging provided by the client when the disk image is created.
-    &quot;source&quot;: &quot;A String&quot;, # The full Google Cloud Storage URL where the disk image is stored. You must provide either this property or the sourceDisk property but not both.
+    &quot;source&quot;: &quot;A String&quot;, # The full Google Cloud Storage URL where the disk image is stored.
+        #
+        # In order to create an image, you must provide the full or partial URL of one of the following:
+        # - The rawDisk.source URL
+        # - The sourceDisk URL
+        # - The sourceImage URL
+        # - The sourceSnapshot URL
   },
   &quot;satisfiesPzs&quot;: True or False, # [Output Only] Reserved for future use.
   &quot;selfLink&quot;: &quot;A String&quot;, # [Output Only] Server-defined URL for the resource.
@@ -542,10 +559,16 @@
       &quot;fileType&quot;: &quot;A String&quot;, # The file type of source file.
     },
   },
-  &quot;sourceDisk&quot;: &quot;A String&quot;, # URL of the source disk used to create this image. This can be a full or valid partial URL. You must provide either this property or the rawDisk.source property but not both to create an image. For example, the following are valid values:
+  &quot;sourceDisk&quot;: &quot;A String&quot;, # URL of the source disk used to create this image. For example, the following are valid values:
       # - https://www.googleapis.com/compute/v1/projects/project/zones/zone/disks/disk
       # - projects/project/zones/zone/disks/disk
       # - zones/zone/disks/disk
+      #
+      # In order to create an image, you must provide the full or partial URL of one of the following:
+      # - The rawDisk.source URL
+      # - The sourceDisk URL
+      # - The sourceImage URL
+      # - The sourceSnapshot URL
   &quot;sourceDiskEncryptionKey&quot;: { # The customer-supplied encryption key of the source disk. Required if the source disk is protected by a customer-supplied encryption key.
     &quot;kmsKeyName&quot;: &quot;A String&quot;, # The name of the encryption key that is stored in Google Cloud KMS.
     &quot;kmsKeyServiceAccount&quot;: &quot;A String&quot;, # The service account being used for the encryption request for the given KMS key. If absent, the Compute Engine default service account is used.
@@ -562,10 +585,10 @@
   &quot;sourceImage&quot;: &quot;A String&quot;, # URL of the source image used to create this image.
       #
       # In order to create an image, you must provide the full or partial URL of one of the following:
-      # - The selfLink URL
-      # - This property
       # - The rawDisk.source URL
       # - The sourceDisk URL
+      # - The sourceImage URL
+      # - The sourceSnapshot URL
   &quot;sourceImageEncryptionKey&quot;: { # The customer-supplied encryption key of the source image. Required if the source image is protected by a customer-supplied encryption key.
     &quot;kmsKeyName&quot;: &quot;A String&quot;, # The name of the encryption key that is stored in Google Cloud KMS.
     &quot;kmsKeyServiceAccount&quot;: &quot;A String&quot;, # The service account being used for the encryption request for the given KMS key. If absent, the Compute Engine default service account is used.
@@ -582,11 +605,10 @@
   &quot;sourceSnapshot&quot;: &quot;A String&quot;, # URL of the source snapshot used to create this image.
       #
       # In order to create an image, you must provide the full or partial URL of one of the following:
-      # - The selfLink URL
-      # - This property
-      # - The sourceImage URL
       # - The rawDisk.source URL
       # - The sourceDisk URL
+      # - The sourceImage URL
+      # - The sourceSnapshot URL
   &quot;sourceSnapshotEncryptionKey&quot;: { # The customer-supplied encryption key of the source snapshot. Required if the source snapshot is protected by a customer-supplied encryption key.
     &quot;kmsKeyName&quot;: &quot;A String&quot;, # The name of the encryption key that is stored in Google Cloud KMS.
     &quot;kmsKeyServiceAccount&quot;: &quot;A String&quot;, # The service account being used for the encryption request for the given KMS key. If absent, the Compute Engine default service account is used.
@@ -869,7 +891,13 @@
   &quot;rawDisk&quot;: { # The parameters of the raw disk image.
     &quot;containerType&quot;: &quot;A String&quot;, # The format used to encode and transmit the block device, which should be TAR. This is just a container and transmission format and not a runtime format. Provided by the client when the disk image is created.
     &quot;sha1Checksum&quot;: &quot;A String&quot;, # [Deprecated] This field is deprecated. An optional SHA1 checksum of the disk image before unpackaging provided by the client when the disk image is created.
-    &quot;source&quot;: &quot;A String&quot;, # The full Google Cloud Storage URL where the disk image is stored. You must provide either this property or the sourceDisk property but not both.
+    &quot;source&quot;: &quot;A String&quot;, # The full Google Cloud Storage URL where the disk image is stored.
+        # 
+        # In order to create an image, you must provide the full or partial URL of one of the following:
+        # - The rawDisk.source URL
+        # - The sourceDisk URL
+        # - The sourceImage URL
+        # - The sourceSnapshot URL
   },
   &quot;satisfiesPzs&quot;: True or False, # [Output Only] Reserved for future use.
   &quot;selfLink&quot;: &quot;A String&quot;, # [Output Only] Server-defined URL for the resource.
@@ -897,10 +925,16 @@
       &quot;fileType&quot;: &quot;A String&quot;, # The file type of source file.
     },
   },
-  &quot;sourceDisk&quot;: &quot;A String&quot;, # URL of the source disk used to create this image. This can be a full or valid partial URL. You must provide either this property or the rawDisk.source property but not both to create an image. For example, the following are valid values:
+  &quot;sourceDisk&quot;: &quot;A String&quot;, # URL of the source disk used to create this image. For example, the following are valid values:
       # - https://www.googleapis.com/compute/v1/projects/project/zones/zone/disks/disk
       # - projects/project/zones/zone/disks/disk
       # - zones/zone/disks/disk
+      # 
+      # In order to create an image, you must provide the full or partial URL of one of the following:
+      # - The rawDisk.source URL
+      # - The sourceDisk URL
+      # - The sourceImage URL
+      # - The sourceSnapshot URL
   &quot;sourceDiskEncryptionKey&quot;: { # The customer-supplied encryption key of the source disk. Required if the source disk is protected by a customer-supplied encryption key.
     &quot;kmsKeyName&quot;: &quot;A String&quot;, # The name of the encryption key that is stored in Google Cloud KMS.
     &quot;kmsKeyServiceAccount&quot;: &quot;A String&quot;, # The service account being used for the encryption request for the given KMS key. If absent, the Compute Engine default service account is used.
@@ -917,10 +951,10 @@
   &quot;sourceImage&quot;: &quot;A String&quot;, # URL of the source image used to create this image.
       # 
       # In order to create an image, you must provide the full or partial URL of one of the following:
-      # - The selfLink URL
-      # - This property
       # - The rawDisk.source URL
       # - The sourceDisk URL
+      # - The sourceImage URL
+      # - The sourceSnapshot URL
   &quot;sourceImageEncryptionKey&quot;: { # The customer-supplied encryption key of the source image. Required if the source image is protected by a customer-supplied encryption key.
     &quot;kmsKeyName&quot;: &quot;A String&quot;, # The name of the encryption key that is stored in Google Cloud KMS.
     &quot;kmsKeyServiceAccount&quot;: &quot;A String&quot;, # The service account being used for the encryption request for the given KMS key. If absent, the Compute Engine default service account is used.
@@ -937,11 +971,10 @@
   &quot;sourceSnapshot&quot;: &quot;A String&quot;, # URL of the source snapshot used to create this image.
       # 
       # In order to create an image, you must provide the full or partial URL of one of the following:
-      # - The selfLink URL
-      # - This property
-      # - The sourceImage URL
       # - The rawDisk.source URL
       # - The sourceDisk URL
+      # - The sourceImage URL
+      # - The sourceSnapshot URL
   &quot;sourceSnapshotEncryptionKey&quot;: { # The customer-supplied encryption key of the source snapshot. Required if the source snapshot is protected by a customer-supplied encryption key.
     &quot;kmsKeyName&quot;: &quot;A String&quot;, # The name of the encryption key that is stored in Google Cloud KMS.
     &quot;kmsKeyServiceAccount&quot;: &quot;A String&quot;, # The service account being used for the encryption request for the given KMS key. If absent, the Compute Engine default service account is used.
@@ -1117,7 +1150,13 @@
       &quot;rawDisk&quot;: { # The parameters of the raw disk image.
         &quot;containerType&quot;: &quot;A String&quot;, # The format used to encode and transmit the block device, which should be TAR. This is just a container and transmission format and not a runtime format. Provided by the client when the disk image is created.
         &quot;sha1Checksum&quot;: &quot;A String&quot;, # [Deprecated] This field is deprecated. An optional SHA1 checksum of the disk image before unpackaging provided by the client when the disk image is created.
-        &quot;source&quot;: &quot;A String&quot;, # The full Google Cloud Storage URL where the disk image is stored. You must provide either this property or the sourceDisk property but not both.
+        &quot;source&quot;: &quot;A String&quot;, # The full Google Cloud Storage URL where the disk image is stored.
+            #
+            # In order to create an image, you must provide the full or partial URL of one of the following:
+            # - The rawDisk.source URL
+            # - The sourceDisk URL
+            # - The sourceImage URL
+            # - The sourceSnapshot URL
       },
       &quot;satisfiesPzs&quot;: True or False, # [Output Only] Reserved for future use.
       &quot;selfLink&quot;: &quot;A String&quot;, # [Output Only] Server-defined URL for the resource.
@@ -1145,10 +1184,16 @@
           &quot;fileType&quot;: &quot;A String&quot;, # The file type of source file.
         },
       },
-      &quot;sourceDisk&quot;: &quot;A String&quot;, # URL of the source disk used to create this image. This can be a full or valid partial URL. You must provide either this property or the rawDisk.source property but not both to create an image. For example, the following are valid values:
+      &quot;sourceDisk&quot;: &quot;A String&quot;, # URL of the source disk used to create this image. For example, the following are valid values:
           # - https://www.googleapis.com/compute/v1/projects/project/zones/zone/disks/disk
           # - projects/project/zones/zone/disks/disk
           # - zones/zone/disks/disk
+          #
+          # In order to create an image, you must provide the full or partial URL of one of the following:
+          # - The rawDisk.source URL
+          # - The sourceDisk URL
+          # - The sourceImage URL
+          # - The sourceSnapshot URL
       &quot;sourceDiskEncryptionKey&quot;: { # The customer-supplied encryption key of the source disk. Required if the source disk is protected by a customer-supplied encryption key.
         &quot;kmsKeyName&quot;: &quot;A String&quot;, # The name of the encryption key that is stored in Google Cloud KMS.
         &quot;kmsKeyServiceAccount&quot;: &quot;A String&quot;, # The service account being used for the encryption request for the given KMS key. If absent, the Compute Engine default service account is used.
@@ -1165,10 +1210,10 @@
       &quot;sourceImage&quot;: &quot;A String&quot;, # URL of the source image used to create this image.
           #
           # In order to create an image, you must provide the full or partial URL of one of the following:
-          # - The selfLink URL
-          # - This property
           # - The rawDisk.source URL
           # - The sourceDisk URL
+          # - The sourceImage URL
+          # - The sourceSnapshot URL
       &quot;sourceImageEncryptionKey&quot;: { # The customer-supplied encryption key of the source image. Required if the source image is protected by a customer-supplied encryption key.
         &quot;kmsKeyName&quot;: &quot;A String&quot;, # The name of the encryption key that is stored in Google Cloud KMS.
         &quot;kmsKeyServiceAccount&quot;: &quot;A String&quot;, # The service account being used for the encryption request for the given KMS key. If absent, the Compute Engine default service account is used.
@@ -1185,11 +1230,10 @@
       &quot;sourceSnapshot&quot;: &quot;A String&quot;, # URL of the source snapshot used to create this image.
           #
           # In order to create an image, you must provide the full or partial URL of one of the following:
-          # - The selfLink URL
-          # - This property
-          # - The sourceImage URL
           # - The rawDisk.source URL
           # - The sourceDisk URL
+          # - The sourceImage URL
+          # - The sourceSnapshot URL
       &quot;sourceSnapshotEncryptionKey&quot;: { # The customer-supplied encryption key of the source snapshot. Required if the source snapshot is protected by a customer-supplied encryption key.
         &quot;kmsKeyName&quot;: &quot;A String&quot;, # The name of the encryption key that is stored in Google Cloud KMS.
         &quot;kmsKeyServiceAccount&quot;: &quot;A String&quot;, # The service account being used for the encryption request for the given KMS key. If absent, the Compute Engine default service account is used.
@@ -1307,7 +1351,13 @@
   &quot;rawDisk&quot;: { # The parameters of the raw disk image.
     &quot;containerType&quot;: &quot;A String&quot;, # The format used to encode and transmit the block device, which should be TAR. This is just a container and transmission format and not a runtime format. Provided by the client when the disk image is created.
     &quot;sha1Checksum&quot;: &quot;A String&quot;, # [Deprecated] This field is deprecated. An optional SHA1 checksum of the disk image before unpackaging provided by the client when the disk image is created.
-    &quot;source&quot;: &quot;A String&quot;, # The full Google Cloud Storage URL where the disk image is stored. You must provide either this property or the sourceDisk property but not both.
+    &quot;source&quot;: &quot;A String&quot;, # The full Google Cloud Storage URL where the disk image is stored.
+        # 
+        # In order to create an image, you must provide the full or partial URL of one of the following:
+        # - The rawDisk.source URL
+        # - The sourceDisk URL
+        # - The sourceImage URL
+        # - The sourceSnapshot URL
   },
   &quot;satisfiesPzs&quot;: True or False, # [Output Only] Reserved for future use.
   &quot;selfLink&quot;: &quot;A String&quot;, # [Output Only] Server-defined URL for the resource.
@@ -1335,10 +1385,16 @@
       &quot;fileType&quot;: &quot;A String&quot;, # The file type of source file.
     },
   },
-  &quot;sourceDisk&quot;: &quot;A String&quot;, # URL of the source disk used to create this image. This can be a full or valid partial URL. You must provide either this property or the rawDisk.source property but not both to create an image. For example, the following are valid values:
+  &quot;sourceDisk&quot;: &quot;A String&quot;, # URL of the source disk used to create this image. For example, the following are valid values:
       # - https://www.googleapis.com/compute/v1/projects/project/zones/zone/disks/disk
       # - projects/project/zones/zone/disks/disk
       # - zones/zone/disks/disk
+      # 
+      # In order to create an image, you must provide the full or partial URL of one of the following:
+      # - The rawDisk.source URL
+      # - The sourceDisk URL
+      # - The sourceImage URL
+      # - The sourceSnapshot URL
   &quot;sourceDiskEncryptionKey&quot;: { # The customer-supplied encryption key of the source disk. Required if the source disk is protected by a customer-supplied encryption key.
     &quot;kmsKeyName&quot;: &quot;A String&quot;, # The name of the encryption key that is stored in Google Cloud KMS.
     &quot;kmsKeyServiceAccount&quot;: &quot;A String&quot;, # The service account being used for the encryption request for the given KMS key. If absent, the Compute Engine default service account is used.
@@ -1355,10 +1411,10 @@
   &quot;sourceImage&quot;: &quot;A String&quot;, # URL of the source image used to create this image.
       # 
       # In order to create an image, you must provide the full or partial URL of one of the following:
-      # - The selfLink URL
-      # - This property
       # - The rawDisk.source URL
       # - The sourceDisk URL
+      # - The sourceImage URL
+      # - The sourceSnapshot URL
   &quot;sourceImageEncryptionKey&quot;: { # The customer-supplied encryption key of the source image. Required if the source image is protected by a customer-supplied encryption key.
     &quot;kmsKeyName&quot;: &quot;A String&quot;, # The name of the encryption key that is stored in Google Cloud KMS.
     &quot;kmsKeyServiceAccount&quot;: &quot;A String&quot;, # The service account being used for the encryption request for the given KMS key. If absent, the Compute Engine default service account is used.
@@ -1375,11 +1431,10 @@
   &quot;sourceSnapshot&quot;: &quot;A String&quot;, # URL of the source snapshot used to create this image.
       # 
       # In order to create an image, you must provide the full or partial URL of one of the following:
-      # - The selfLink URL
-      # - This property
-      # - The sourceImage URL
       # - The rawDisk.source URL
       # - The sourceDisk URL
+      # - The sourceImage URL
+      # - The sourceSnapshot URL
   &quot;sourceSnapshotEncryptionKey&quot;: { # The customer-supplied encryption key of the source snapshot. Required if the source snapshot is protected by a customer-supplied encryption key.
     &quot;kmsKeyName&quot;: &quot;A String&quot;, # The name of the encryption key that is stored in Google Cloud KMS.
     &quot;kmsKeyServiceAccount&quot;: &quot;A String&quot;, # The service account being used for the encryption request for the given KMS key. If absent, the Compute Engine default service account is used.
diff --git a/docs/dyn/compute_beta.instanceGroupManagers.html b/docs/dyn/compute_beta.instanceGroupManagers.html
index b39c3bb..4b48794 100644
--- a/docs/dyn/compute_beta.instanceGroupManagers.html
+++ b/docs/dyn/compute_beta.instanceGroupManagers.html
@@ -287,7 +287,9 @@
   &quot;items&quot;: { # A list of InstanceGroupManagersScopedList resources.
     &quot;a_key&quot;: { # [Output Only] The name of the scope that contains this set of managed instance groups.
       &quot;instanceGroupManagers&quot;: [ # [Output Only] The list of managed instance groups that are contained in the specified project and zone.
-        { # Represents a Managed Instance Group resource.
+        { # Whether the instance is a standby. Properties of a standby instance comparing to the regular instance: ========================================================================= | regular | standby ========================================================================= managed by IGM? | yes | yes added to the IG? | yes | yes counts towards IGM&#x27;s target size? | yes | no taken into account by Autoscaler? | yes | no receives traffic from LB? | yes | no =========================================================================
+            #
+            # Represents a Managed Instance Group resource.
             #
             # An instance group is a collection of VM instances that you can manage as a single entity. For more information, read Instance groups.
             #
@@ -938,7 +940,9 @@
 Returns:
   An object of the form:
 
-    { # Represents a Managed Instance Group resource.
+    { # Whether the instance is a standby. Properties of a standby instance comparing to the regular instance: ========================================================================= | regular | standby ========================================================================= managed by IGM? | yes | yes added to the IG? | yes | yes counts towards IGM&#x27;s target size? | yes | no taken into account by Autoscaler? | yes | no receives traffic from LB? | yes | no =========================================================================
+    #
+    # Represents a Managed Instance Group resource.
     #
     # An instance group is a collection of VM instances that you can manage as a single entity. For more information, read Instance groups.
     #
@@ -1091,7 +1095,9 @@
   body: object, The request body.
     The object takes the form of:
 
-{ # Represents a Managed Instance Group resource.
+{ # Whether the instance is a standby. Properties of a standby instance comparing to the regular instance: ========================================================================= | regular | standby ========================================================================= managed by IGM? | yes | yes added to the IG? | yes | yes counts towards IGM&#x27;s target size? | yes | no taken into account by Autoscaler? | yes | no receives traffic from LB? | yes | no =========================================================================
+    # 
+    # Represents a Managed Instance Group resource.
     # 
     # An instance group is a collection of VM instances that you can manage as a single entity. For more information, read Instance groups.
     # 
@@ -1330,7 +1336,9 @@
     { # [Output Only] A list of managed instance groups.
   &quot;id&quot;: &quot;A String&quot;, # [Output Only] Unique identifier for the resource; defined by the server.
   &quot;items&quot;: [ # A list of InstanceGroupManager resources.
-    { # Represents a Managed Instance Group resource.
+    { # Whether the instance is a standby. Properties of a standby instance comparing to the regular instance: ========================================================================= | regular | standby ========================================================================= managed by IGM? | yes | yes added to the IG? | yes | yes counts towards IGM&#x27;s target size? | yes | no taken into account by Autoscaler? | yes | no receives traffic from LB? | yes | no =========================================================================
+        #
+        # Represents a Managed Instance Group resource.
         #
         # An instance group is a collection of VM instances that you can manage as a single entity. For more information, read Instance groups.
         #
@@ -1759,7 +1767,9 @@
   body: object, The request body.
     The object takes the form of:
 
-{ # Represents a Managed Instance Group resource.
+{ # Whether the instance is a standby. Properties of a standby instance comparing to the regular instance: ========================================================================= | regular | standby ========================================================================= managed by IGM? | yes | yes added to the IG? | yes | yes counts towards IGM&#x27;s target size? | yes | no taken into account by Autoscaler? | yes | no receives traffic from LB? | yes | no =========================================================================
+    # 
+    # Represents a Managed Instance Group resource.
     # 
     # An instance group is a collection of VM instances that you can manage as a single entity. For more information, read Instance groups.
     # 
@@ -2648,7 +2658,9 @@
   body: object, The request body.
     The object takes the form of:
 
-{ # Represents a Managed Instance Group resource.
+{ # Whether the instance is a standby. Properties of a standby instance comparing to the regular instance: ========================================================================= | regular | standby ========================================================================= managed by IGM? | yes | yes added to the IG? | yes | yes counts towards IGM&#x27;s target size? | yes | no taken into account by Autoscaler? | yes | no receives traffic from LB? | yes | no =========================================================================
+    # 
+    # Represents a Managed Instance Group resource.
     # 
     # An instance group is a collection of VM instances that you can manage as a single entity. For more information, read Instance groups.
     # 
diff --git a/docs/dyn/compute_beta.instanceTemplates.html b/docs/dyn/compute_beta.instanceTemplates.html
index 9a3df4e..a025792 100644
--- a/docs/dyn/compute_beta.instanceTemplates.html
+++ b/docs/dyn/compute_beta.instanceTemplates.html
@@ -400,6 +400,8 @@
       { # A network interface resource attached to an instance.
         &quot;accessConfigs&quot;: [ # An array of configurations for this interface. Currently, only one access config, ONE_TO_ONE_NAT, is supported. If there are no accessConfigs specified, then this instance will have no external internet access.
           { # An access configuration attached to an instance&#x27;s network interface. Only one access config per instance is supported.
+            &quot;externalIpv6&quot;: &quot;A String&quot;, # [Output Only] The first IPv6 address of the external IPv6 range associated with this instance, prefix length is stored in externalIpv6PrefixLength in ipv6AccessConfig. The field is output only, an IPv6 address from a subnetwork associated with the instance will be allocated dynamically.
+            &quot;externalIpv6PrefixLength&quot;: 42, # [Output Only] The prefix length of the external IPv6 range.
             &quot;kind&quot;: &quot;compute#accessConfig&quot;, # [Output Only] Type of the resource. Always compute#accessConfig for access configs.
             &quot;name&quot;: &quot;A String&quot;, # The name of this access configuration. The default and recommended name is External NAT, but you can use any arbitrary string, such as My external IP or Network Access.
             &quot;natIP&quot;: &quot;A String&quot;, # An external IP address associated with this instance. Specify an unused static external IP address available to the project or leave this field undefined to use an IP from a shared ephemeral IP address pool. If you specify a static external IP address, it must live in the same region as the zone of the instance.
@@ -420,6 +422,26 @@
           },
         ],
         &quot;fingerprint&quot;: &quot;A String&quot;, # Fingerprint hash of contents stored in this network interface. This field will be ignored when inserting an Instance or adding a NetworkInterface. An up-to-date fingerprint must be provided in order to update the NetworkInterface. The request will fail with error 400 Bad Request if the fingerprint is not provided, or 412 Precondition Failed if the fingerprint is out of date.
+        &quot;ipv6AccessConfigs&quot;: [ # An array of IPv6 access configurations for this interface. Currently, only one IPv6 access config, DIRECT_IPV6, is supported. If there is no ipv6AccessConfig specified, then this instance will have no external IPv6 Internet access.
+          { # An access configuration attached to an instance&#x27;s network interface. Only one access config per instance is supported.
+            &quot;externalIpv6&quot;: &quot;A String&quot;, # [Output Only] The first IPv6 address of the external IPv6 range associated with this instance, prefix length is stored in externalIpv6PrefixLength in ipv6AccessConfig. The field is output only, an IPv6 address from a subnetwork associated with the instance will be allocated dynamically.
+            &quot;externalIpv6PrefixLength&quot;: 42, # [Output Only] The prefix length of the external IPv6 range.
+            &quot;kind&quot;: &quot;compute#accessConfig&quot;, # [Output Only] Type of the resource. Always compute#accessConfig for access configs.
+            &quot;name&quot;: &quot;A String&quot;, # The name of this access configuration. The default and recommended name is External NAT, but you can use any arbitrary string, such as My external IP or Network Access.
+            &quot;natIP&quot;: &quot;A String&quot;, # An external IP address associated with this instance. Specify an unused static external IP address available to the project or leave this field undefined to use an IP from a shared ephemeral IP address pool. If you specify a static external IP address, it must live in the same region as the zone of the instance.
+            &quot;networkTier&quot;: &quot;A String&quot;, # This signifies the networking tier used for configuring this access configuration and can only take the following values: PREMIUM, STANDARD.
+                #
+                # If an AccessConfig is specified without a valid external IP address, an ephemeral IP will be created with this networkTier.
+                #
+                # If an AccessConfig with a valid external IP address is specified, it must match that of the networkTier associated with the Address resource owning that IP.
+            &quot;publicPtrDomainName&quot;: &quot;A String&quot;, # The DNS domain name for the public PTR record. You can set this field only if the `setPublicPtr` field is enabled.
+            &quot;setPublicPtr&quot;: True or False, # Specifies whether a public DNS &#x27;PTR&#x27; record should be created to map the external IP address of the instance to a DNS domain name.
+            &quot;type&quot;: &quot;ONE_TO_ONE_NAT&quot;, # The type of configuration. The default and only option is ONE_TO_ONE_NAT.
+          },
+        ],
+        &quot;ipv6AccessType&quot;: &quot;A String&quot;, # [Output Only] One of EXTERNAL, INTERNAL to indicate whether the IP can be accessed from the Internet. This field is always inherited from its subnetwork.
+            #
+            # Valid only if stackType is IPV4_IPV6.
         &quot;ipv6Address&quot;: &quot;A String&quot;, # [Output Only] An IPv6 internal network address for this network interface.
         &quot;kind&quot;: &quot;compute#networkInterface&quot;, # [Output Only] Type of the resource. Always compute#networkInterface for network interfaces.
         &quot;name&quot;: &quot;A String&quot;, # [Output Only] The name of the network interface, which is generated by the server. For network devices, these are eth0, eth1, etc.
@@ -431,6 +453,9 @@
             # - global/networks/default
         &quot;networkIP&quot;: &quot;A String&quot;, # An IPv4 internal IP address to assign to the instance for this network interface. If not specified by the user, an unused internal IP is assigned by the system.
         &quot;nicType&quot;: &quot;A String&quot;, # The type of vNIC to be used on this interface. This may be gVNIC or VirtioNet.
+        &quot;stackType&quot;: &quot;A String&quot;, # The stack type for this network interface to identify whether the IPv6 feature is enabled or not. If not specified, IPV4_ONLY will be used.
+            #
+            # This field can be both set at instance creation and update network interface operations.
         &quot;subnetwork&quot;: &quot;A String&quot;, # The URL of the Subnetwork resource for this instance. If the network resource is in legacy mode, do not specify this field. If the network is in auto subnet mode, specifying the subnetwork is optional. If the network is in custom subnet mode, specifying the subnetwork is required. If you specify this field, you can specify the subnetwork as a full or partial URL. For example, the following are all valid URLs:
             # - https://www.googleapis.com/compute/v1/projects/project/regions/region/subnetworks/subnetwork
             # - regions/region/subnetworks/subnetwork
@@ -451,7 +476,7 @@
     &quot;resourcePolicies&quot;: [ # Resource policies (names, not ULRs) applied to instances created from these properties.
       &quot;A String&quot;,
     ],
-    &quot;scheduling&quot;: { # Sets the scheduling options for an Instance. NextID: 20 # Specifies the scheduling options for the instances that are created from these properties.
+    &quot;scheduling&quot;: { # Sets the scheduling options for an Instance. NextID: 21 # Specifies the scheduling options for the instances that are created from these properties.
       &quot;automaticRestart&quot;: True or False, # Specifies whether the instance should be automatically restarted if it is terminated by Compute Engine (not terminated by a user). You can only set the automatic restart option for standard instances. Preemptible instances cannot be automatically restarted.
           #
           # By default, this is set to true so an instance is automatically restarted if it is terminated by Compute Engine.
@@ -930,6 +955,8 @@
       { # A network interface resource attached to an instance.
         &quot;accessConfigs&quot;: [ # An array of configurations for this interface. Currently, only one access config, ONE_TO_ONE_NAT, is supported. If there are no accessConfigs specified, then this instance will have no external internet access.
           { # An access configuration attached to an instance&#x27;s network interface. Only one access config per instance is supported.
+            &quot;externalIpv6&quot;: &quot;A String&quot;, # [Output Only] The first IPv6 address of the external IPv6 range associated with this instance, prefix length is stored in externalIpv6PrefixLength in ipv6AccessConfig. The field is output only, an IPv6 address from a subnetwork associated with the instance will be allocated dynamically.
+            &quot;externalIpv6PrefixLength&quot;: 42, # [Output Only] The prefix length of the external IPv6 range.
             &quot;kind&quot;: &quot;compute#accessConfig&quot;, # [Output Only] Type of the resource. Always compute#accessConfig for access configs.
             &quot;name&quot;: &quot;A String&quot;, # The name of this access configuration. The default and recommended name is External NAT, but you can use any arbitrary string, such as My external IP or Network Access.
             &quot;natIP&quot;: &quot;A String&quot;, # An external IP address associated with this instance. Specify an unused static external IP address available to the project or leave this field undefined to use an IP from a shared ephemeral IP address pool. If you specify a static external IP address, it must live in the same region as the zone of the instance.
@@ -950,6 +977,26 @@
           },
         ],
         &quot;fingerprint&quot;: &quot;A String&quot;, # Fingerprint hash of contents stored in this network interface. This field will be ignored when inserting an Instance or adding a NetworkInterface. An up-to-date fingerprint must be provided in order to update the NetworkInterface. The request will fail with error 400 Bad Request if the fingerprint is not provided, or 412 Precondition Failed if the fingerprint is out of date.
+        &quot;ipv6AccessConfigs&quot;: [ # An array of IPv6 access configurations for this interface. Currently, only one IPv6 access config, DIRECT_IPV6, is supported. If there is no ipv6AccessConfig specified, then this instance will have no external IPv6 Internet access.
+          { # An access configuration attached to an instance&#x27;s network interface. Only one access config per instance is supported.
+            &quot;externalIpv6&quot;: &quot;A String&quot;, # [Output Only] The first IPv6 address of the external IPv6 range associated with this instance, prefix length is stored in externalIpv6PrefixLength in ipv6AccessConfig. The field is output only, an IPv6 address from a subnetwork associated with the instance will be allocated dynamically.
+            &quot;externalIpv6PrefixLength&quot;: 42, # [Output Only] The prefix length of the external IPv6 range.
+            &quot;kind&quot;: &quot;compute#accessConfig&quot;, # [Output Only] Type of the resource. Always compute#accessConfig for access configs.
+            &quot;name&quot;: &quot;A String&quot;, # The name of this access configuration. The default and recommended name is External NAT, but you can use any arbitrary string, such as My external IP or Network Access.
+            &quot;natIP&quot;: &quot;A String&quot;, # An external IP address associated with this instance. Specify an unused static external IP address available to the project or leave this field undefined to use an IP from a shared ephemeral IP address pool. If you specify a static external IP address, it must live in the same region as the zone of the instance.
+            &quot;networkTier&quot;: &quot;A String&quot;, # This signifies the networking tier used for configuring this access configuration and can only take the following values: PREMIUM, STANDARD.
+                #
+                # If an AccessConfig is specified without a valid external IP address, an ephemeral IP will be created with this networkTier.
+                #
+                # If an AccessConfig with a valid external IP address is specified, it must match that of the networkTier associated with the Address resource owning that IP.
+            &quot;publicPtrDomainName&quot;: &quot;A String&quot;, # The DNS domain name for the public PTR record. You can set this field only if the `setPublicPtr` field is enabled.
+            &quot;setPublicPtr&quot;: True or False, # Specifies whether a public DNS &#x27;PTR&#x27; record should be created to map the external IP address of the instance to a DNS domain name.
+            &quot;type&quot;: &quot;ONE_TO_ONE_NAT&quot;, # The type of configuration. The default and only option is ONE_TO_ONE_NAT.
+          },
+        ],
+        &quot;ipv6AccessType&quot;: &quot;A String&quot;, # [Output Only] One of EXTERNAL, INTERNAL to indicate whether the IP can be accessed from the Internet. This field is always inherited from its subnetwork.
+            #
+            # Valid only if stackType is IPV4_IPV6.
         &quot;ipv6Address&quot;: &quot;A String&quot;, # [Output Only] An IPv6 internal network address for this network interface.
         &quot;kind&quot;: &quot;compute#networkInterface&quot;, # [Output Only] Type of the resource. Always compute#networkInterface for network interfaces.
         &quot;name&quot;: &quot;A String&quot;, # [Output Only] The name of the network interface, which is generated by the server. For network devices, these are eth0, eth1, etc.
@@ -961,6 +1008,9 @@
             # - global/networks/default
         &quot;networkIP&quot;: &quot;A String&quot;, # An IPv4 internal IP address to assign to the instance for this network interface. If not specified by the user, an unused internal IP is assigned by the system.
         &quot;nicType&quot;: &quot;A String&quot;, # The type of vNIC to be used on this interface. This may be gVNIC or VirtioNet.
+        &quot;stackType&quot;: &quot;A String&quot;, # The stack type for this network interface to identify whether the IPv6 feature is enabled or not. If not specified, IPV4_ONLY will be used.
+            #
+            # This field can be both set at instance creation and update network interface operations.
         &quot;subnetwork&quot;: &quot;A String&quot;, # The URL of the Subnetwork resource for this instance. If the network resource is in legacy mode, do not specify this field. If the network is in auto subnet mode, specifying the subnetwork is optional. If the network is in custom subnet mode, specifying the subnetwork is required. If you specify this field, you can specify the subnetwork as a full or partial URL. For example, the following are all valid URLs:
             # - https://www.googleapis.com/compute/v1/projects/project/regions/region/subnetworks/subnetwork
             # - regions/region/subnetworks/subnetwork
@@ -981,7 +1031,7 @@
     &quot;resourcePolicies&quot;: [ # Resource policies (names, not ULRs) applied to instances created from these properties.
       &quot;A String&quot;,
     ],
-    &quot;scheduling&quot;: { # Sets the scheduling options for an Instance. NextID: 20 # Specifies the scheduling options for the instances that are created from these properties.
+    &quot;scheduling&quot;: { # Sets the scheduling options for an Instance. NextID: 21 # Specifies the scheduling options for the instances that are created from these properties.
       &quot;automaticRestart&quot;: True or False, # Specifies whether the instance should be automatically restarted if it is terminated by Compute Engine (not terminated by a user). You can only set the automatic restart option for standard instances. Preemptible instances cannot be automatically restarted.
           #
           # By default, this is set to true so an instance is automatically restarted if it is terminated by Compute Engine.
@@ -1352,6 +1402,8 @@
           { # A network interface resource attached to an instance.
             &quot;accessConfigs&quot;: [ # An array of configurations for this interface. Currently, only one access config, ONE_TO_ONE_NAT, is supported. If there are no accessConfigs specified, then this instance will have no external internet access.
               { # An access configuration attached to an instance&#x27;s network interface. Only one access config per instance is supported.
+                &quot;externalIpv6&quot;: &quot;A String&quot;, # [Output Only] The first IPv6 address of the external IPv6 range associated with this instance, prefix length is stored in externalIpv6PrefixLength in ipv6AccessConfig. The field is output only, an IPv6 address from a subnetwork associated with the instance will be allocated dynamically.
+                &quot;externalIpv6PrefixLength&quot;: 42, # [Output Only] The prefix length of the external IPv6 range.
                 &quot;kind&quot;: &quot;compute#accessConfig&quot;, # [Output Only] Type of the resource. Always compute#accessConfig for access configs.
                 &quot;name&quot;: &quot;A String&quot;, # The name of this access configuration. The default and recommended name is External NAT, but you can use any arbitrary string, such as My external IP or Network Access.
                 &quot;natIP&quot;: &quot;A String&quot;, # An external IP address associated with this instance. Specify an unused static external IP address available to the project or leave this field undefined to use an IP from a shared ephemeral IP address pool. If you specify a static external IP address, it must live in the same region as the zone of the instance.
@@ -1372,6 +1424,26 @@
               },
             ],
             &quot;fingerprint&quot;: &quot;A String&quot;, # Fingerprint hash of contents stored in this network interface. This field will be ignored when inserting an Instance or adding a NetworkInterface. An up-to-date fingerprint must be provided in order to update the NetworkInterface. The request will fail with error 400 Bad Request if the fingerprint is not provided, or 412 Precondition Failed if the fingerprint is out of date.
+            &quot;ipv6AccessConfigs&quot;: [ # An array of IPv6 access configurations for this interface. Currently, only one IPv6 access config, DIRECT_IPV6, is supported. If there is no ipv6AccessConfig specified, then this instance will have no external IPv6 Internet access.
+              { # An access configuration attached to an instance&#x27;s network interface. Only one access config per instance is supported.
+                &quot;externalIpv6&quot;: &quot;A String&quot;, # [Output Only] The first IPv6 address of the external IPv6 range associated with this instance, prefix length is stored in externalIpv6PrefixLength in ipv6AccessConfig. The field is output only, an IPv6 address from a subnetwork associated with the instance will be allocated dynamically.
+                &quot;externalIpv6PrefixLength&quot;: 42, # [Output Only] The prefix length of the external IPv6 range.
+                &quot;kind&quot;: &quot;compute#accessConfig&quot;, # [Output Only] Type of the resource. Always compute#accessConfig for access configs.
+                &quot;name&quot;: &quot;A String&quot;, # The name of this access configuration. The default and recommended name is External NAT, but you can use any arbitrary string, such as My external IP or Network Access.
+                &quot;natIP&quot;: &quot;A String&quot;, # An external IP address associated with this instance. Specify an unused static external IP address available to the project or leave this field undefined to use an IP from a shared ephemeral IP address pool. If you specify a static external IP address, it must live in the same region as the zone of the instance.
+                &quot;networkTier&quot;: &quot;A String&quot;, # This signifies the networking tier used for configuring this access configuration and can only take the following values: PREMIUM, STANDARD.
+                    #
+                    # If an AccessConfig is specified without a valid external IP address, an ephemeral IP will be created with this networkTier.
+                    #
+                    # If an AccessConfig with a valid external IP address is specified, it must match that of the networkTier associated with the Address resource owning that IP.
+                &quot;publicPtrDomainName&quot;: &quot;A String&quot;, # The DNS domain name for the public PTR record. You can set this field only if the `setPublicPtr` field is enabled.
+                &quot;setPublicPtr&quot;: True or False, # Specifies whether a public DNS &#x27;PTR&#x27; record should be created to map the external IP address of the instance to a DNS domain name.
+                &quot;type&quot;: &quot;ONE_TO_ONE_NAT&quot;, # The type of configuration. The default and only option is ONE_TO_ONE_NAT.
+              },
+            ],
+            &quot;ipv6AccessType&quot;: &quot;A String&quot;, # [Output Only] One of EXTERNAL, INTERNAL to indicate whether the IP can be accessed from the Internet. This field is always inherited from its subnetwork.
+                #
+                # Valid only if stackType is IPV4_IPV6.
             &quot;ipv6Address&quot;: &quot;A String&quot;, # [Output Only] An IPv6 internal network address for this network interface.
             &quot;kind&quot;: &quot;compute#networkInterface&quot;, # [Output Only] Type of the resource. Always compute#networkInterface for network interfaces.
             &quot;name&quot;: &quot;A String&quot;, # [Output Only] The name of the network interface, which is generated by the server. For network devices, these are eth0, eth1, etc.
@@ -1383,6 +1455,9 @@
                 # - global/networks/default
             &quot;networkIP&quot;: &quot;A String&quot;, # An IPv4 internal IP address to assign to the instance for this network interface. If not specified by the user, an unused internal IP is assigned by the system.
             &quot;nicType&quot;: &quot;A String&quot;, # The type of vNIC to be used on this interface. This may be gVNIC or VirtioNet.
+            &quot;stackType&quot;: &quot;A String&quot;, # The stack type for this network interface to identify whether the IPv6 feature is enabled or not. If not specified, IPV4_ONLY will be used.
+                #
+                # This field can be both set at instance creation and update network interface operations.
             &quot;subnetwork&quot;: &quot;A String&quot;, # The URL of the Subnetwork resource for this instance. If the network resource is in legacy mode, do not specify this field. If the network is in auto subnet mode, specifying the subnetwork is optional. If the network is in custom subnet mode, specifying the subnetwork is required. If you specify this field, you can specify the subnetwork as a full or partial URL. For example, the following are all valid URLs:
                 # - https://www.googleapis.com/compute/v1/projects/project/regions/region/subnetworks/subnetwork
                 # - regions/region/subnetworks/subnetwork
@@ -1403,7 +1478,7 @@
         &quot;resourcePolicies&quot;: [ # Resource policies (names, not ULRs) applied to instances created from these properties.
           &quot;A String&quot;,
         ],
-        &quot;scheduling&quot;: { # Sets the scheduling options for an Instance. NextID: 20 # Specifies the scheduling options for the instances that are created from these properties.
+        &quot;scheduling&quot;: { # Sets the scheduling options for an Instance. NextID: 21 # Specifies the scheduling options for the instances that are created from these properties.
           &quot;automaticRestart&quot;: True or False, # Specifies whether the instance should be automatically restarted if it is terminated by Compute Engine (not terminated by a user). You can only set the automatic restart option for standard instances. Preemptible instances cannot be automatically restarted.
               #
               # By default, this is set to true so an instance is automatically restarted if it is terminated by Compute Engine.
diff --git a/docs/dyn/compute_beta.instances.html b/docs/dyn/compute_beta.instances.html
index 7a86a13..1ca0807 100644
--- a/docs/dyn/compute_beta.instances.html
+++ b/docs/dyn/compute_beta.instances.html
@@ -244,6 +244,8 @@
     The object takes the form of:
 
 { # An access configuration attached to an instance&#x27;s network interface. Only one access config per instance is supported.
+  &quot;externalIpv6&quot;: &quot;A String&quot;, # [Output Only] The first IPv6 address of the external IPv6 range associated with this instance, prefix length is stored in externalIpv6PrefixLength in ipv6AccessConfig. The field is output only, an IPv6 address from a subnetwork associated with the instance will be allocated dynamically.
+  &quot;externalIpv6PrefixLength&quot;: 42, # [Output Only] The prefix length of the external IPv6 range.
   &quot;kind&quot;: &quot;compute#accessConfig&quot;, # [Output Only] Type of the resource. Always compute#accessConfig for access configs.
   &quot;name&quot;: &quot;A String&quot;, # The name of this access configuration. The default and recommended name is External NAT, but you can use any arbitrary string, such as My external IP or Network Access.
   &quot;natIP&quot;: &quot;A String&quot;, # An external IP address associated with this instance. Specify an unused static external IP address available to the project or leave this field undefined to use an IP from a shared ephemeral IP address pool. If you specify a static external IP address, it must live in the same region as the zone of the instance.
@@ -671,6 +673,8 @@
             { # A network interface resource attached to an instance.
               &quot;accessConfigs&quot;: [ # An array of configurations for this interface. Currently, only one access config, ONE_TO_ONE_NAT, is supported. If there are no accessConfigs specified, then this instance will have no external internet access.
                 { # An access configuration attached to an instance&#x27;s network interface. Only one access config per instance is supported.
+                  &quot;externalIpv6&quot;: &quot;A String&quot;, # [Output Only] The first IPv6 address of the external IPv6 range associated with this instance, prefix length is stored in externalIpv6PrefixLength in ipv6AccessConfig. The field is output only, an IPv6 address from a subnetwork associated with the instance will be allocated dynamically.
+                  &quot;externalIpv6PrefixLength&quot;: 42, # [Output Only] The prefix length of the external IPv6 range.
                   &quot;kind&quot;: &quot;compute#accessConfig&quot;, # [Output Only] Type of the resource. Always compute#accessConfig for access configs.
                   &quot;name&quot;: &quot;A String&quot;, # The name of this access configuration. The default and recommended name is External NAT, but you can use any arbitrary string, such as My external IP or Network Access.
                   &quot;natIP&quot;: &quot;A String&quot;, # An external IP address associated with this instance. Specify an unused static external IP address available to the project or leave this field undefined to use an IP from a shared ephemeral IP address pool. If you specify a static external IP address, it must live in the same region as the zone of the instance.
@@ -691,6 +695,26 @@
                 },
               ],
               &quot;fingerprint&quot;: &quot;A String&quot;, # Fingerprint hash of contents stored in this network interface. This field will be ignored when inserting an Instance or adding a NetworkInterface. An up-to-date fingerprint must be provided in order to update the NetworkInterface. The request will fail with error 400 Bad Request if the fingerprint is not provided, or 412 Precondition Failed if the fingerprint is out of date.
+              &quot;ipv6AccessConfigs&quot;: [ # An array of IPv6 access configurations for this interface. Currently, only one IPv6 access config, DIRECT_IPV6, is supported. If there is no ipv6AccessConfig specified, then this instance will have no external IPv6 Internet access.
+                { # An access configuration attached to an instance&#x27;s network interface. Only one access config per instance is supported.
+                  &quot;externalIpv6&quot;: &quot;A String&quot;, # [Output Only] The first IPv6 address of the external IPv6 range associated with this instance, prefix length is stored in externalIpv6PrefixLength in ipv6AccessConfig. The field is output only, an IPv6 address from a subnetwork associated with the instance will be allocated dynamically.
+                  &quot;externalIpv6PrefixLength&quot;: 42, # [Output Only] The prefix length of the external IPv6 range.
+                  &quot;kind&quot;: &quot;compute#accessConfig&quot;, # [Output Only] Type of the resource. Always compute#accessConfig for access configs.
+                  &quot;name&quot;: &quot;A String&quot;, # The name of this access configuration. The default and recommended name is External NAT, but you can use any arbitrary string, such as My external IP or Network Access.
+                  &quot;natIP&quot;: &quot;A String&quot;, # An external IP address associated with this instance. Specify an unused static external IP address available to the project or leave this field undefined to use an IP from a shared ephemeral IP address pool. If you specify a static external IP address, it must live in the same region as the zone of the instance.
+                  &quot;networkTier&quot;: &quot;A String&quot;, # This signifies the networking tier used for configuring this access configuration and can only take the following values: PREMIUM, STANDARD.
+                      #
+                      # If an AccessConfig is specified without a valid external IP address, an ephemeral IP will be created with this networkTier.
+                      #
+                      # If an AccessConfig with a valid external IP address is specified, it must match that of the networkTier associated with the Address resource owning that IP.
+                  &quot;publicPtrDomainName&quot;: &quot;A String&quot;, # The DNS domain name for the public PTR record. You can set this field only if the `setPublicPtr` field is enabled.
+                  &quot;setPublicPtr&quot;: True or False, # Specifies whether a public DNS &#x27;PTR&#x27; record should be created to map the external IP address of the instance to a DNS domain name.
+                  &quot;type&quot;: &quot;ONE_TO_ONE_NAT&quot;, # The type of configuration. The default and only option is ONE_TO_ONE_NAT.
+                },
+              ],
+              &quot;ipv6AccessType&quot;: &quot;A String&quot;, # [Output Only] One of EXTERNAL, INTERNAL to indicate whether the IP can be accessed from the Internet. This field is always inherited from its subnetwork.
+                  #
+                  # Valid only if stackType is IPV4_IPV6.
               &quot;ipv6Address&quot;: &quot;A String&quot;, # [Output Only] An IPv6 internal network address for this network interface.
               &quot;kind&quot;: &quot;compute#networkInterface&quot;, # [Output Only] Type of the resource. Always compute#networkInterface for network interfaces.
               &quot;name&quot;: &quot;A String&quot;, # [Output Only] The name of the network interface, which is generated by the server. For network devices, these are eth0, eth1, etc.
@@ -702,6 +726,9 @@
                   # - global/networks/default
               &quot;networkIP&quot;: &quot;A String&quot;, # An IPv4 internal IP address to assign to the instance for this network interface. If not specified by the user, an unused internal IP is assigned by the system.
               &quot;nicType&quot;: &quot;A String&quot;, # The type of vNIC to be used on this interface. This may be gVNIC or VirtioNet.
+              &quot;stackType&quot;: &quot;A String&quot;, # The stack type for this network interface to identify whether the IPv6 feature is enabled or not. If not specified, IPV4_ONLY will be used.
+                  #
+                  # This field can be both set at instance creation and update network interface operations.
               &quot;subnetwork&quot;: &quot;A String&quot;, # The URL of the Subnetwork resource for this instance. If the network resource is in legacy mode, do not specify this field. If the network is in auto subnet mode, specifying the subnetwork is optional. If the network is in custom subnet mode, specifying the subnetwork is required. If you specify this field, you can specify the subnetwork as a full or partial URL. For example, the following are all valid URLs:
                   # - https://www.googleapis.com/compute/v1/projects/project/regions/region/subnetworks/subnetwork
                   # - regions/region/subnetworks/subnetwork
@@ -723,7 +750,7 @@
             &quot;A String&quot;,
           ],
           &quot;satisfiesPzs&quot;: True or False, # [Output Only] Reserved for future use.
-          &quot;scheduling&quot;: { # Sets the scheduling options for an Instance. NextID: 20 # Sets the scheduling options for this instance.
+          &quot;scheduling&quot;: { # Sets the scheduling options for an Instance. NextID: 21 # Sets the scheduling options for this instance.
             &quot;automaticRestart&quot;: True or False, # Specifies whether the instance should be automatically restarted if it is terminated by Compute Engine (not terminated by a user). You can only set the automatic restart option for standard instances. Preemptible instances cannot be automatically restarted.
                 #
                 # By default, this is set to true so an instance is automatically restarted if it is terminated by Compute Engine.
@@ -1092,7 +1119,7 @@
   body: object, The request body.
     The object takes the form of:
 
-{
+{ # A transient resource used in compute.instances.bulkInsert and compute.regionInstances.bulkInsert and compute.regionInstances.recommendLocations. This resource is not persisted anywhere, it is used only for processing the requests.
   &quot;count&quot;: &quot;A String&quot;, # The maximum number of instances to create.
   &quot;instanceProperties&quot;: { # The instance properties defining the VM instances to be created. Required if sourceInstanceTemplate is not provided.
     &quot;advancedMachineFeatures&quot;: { # Specifies options for controlling advanced machine features. Options that would traditionally be configured in a BIOS belong here. Features that require operating system support may have corresponding entries in the GuestOsFeatures of an Image (e.g., whether or not the OS in the Image supports nested virtualization being enabled or disabled). # Controls for advanced machine-related behavior features.
@@ -1291,6 +1318,8 @@
       { # A network interface resource attached to an instance.
         &quot;accessConfigs&quot;: [ # An array of configurations for this interface. Currently, only one access config, ONE_TO_ONE_NAT, is supported. If there are no accessConfigs specified, then this instance will have no external internet access.
           { # An access configuration attached to an instance&#x27;s network interface. Only one access config per instance is supported.
+            &quot;externalIpv6&quot;: &quot;A String&quot;, # [Output Only] The first IPv6 address of the external IPv6 range associated with this instance, prefix length is stored in externalIpv6PrefixLength in ipv6AccessConfig. The field is output only, an IPv6 address from a subnetwork associated with the instance will be allocated dynamically.
+            &quot;externalIpv6PrefixLength&quot;: 42, # [Output Only] The prefix length of the external IPv6 range.
             &quot;kind&quot;: &quot;compute#accessConfig&quot;, # [Output Only] Type of the resource. Always compute#accessConfig for access configs.
             &quot;name&quot;: &quot;A String&quot;, # The name of this access configuration. The default and recommended name is External NAT, but you can use any arbitrary string, such as My external IP or Network Access.
             &quot;natIP&quot;: &quot;A String&quot;, # An external IP address associated with this instance. Specify an unused static external IP address available to the project or leave this field undefined to use an IP from a shared ephemeral IP address pool. If you specify a static external IP address, it must live in the same region as the zone of the instance.
@@ -1311,6 +1340,26 @@
           },
         ],
         &quot;fingerprint&quot;: &quot;A String&quot;, # Fingerprint hash of contents stored in this network interface. This field will be ignored when inserting an Instance or adding a NetworkInterface. An up-to-date fingerprint must be provided in order to update the NetworkInterface. The request will fail with error 400 Bad Request if the fingerprint is not provided, or 412 Precondition Failed if the fingerprint is out of date.
+        &quot;ipv6AccessConfigs&quot;: [ # An array of IPv6 access configurations for this interface. Currently, only one IPv6 access config, DIRECT_IPV6, is supported. If there is no ipv6AccessConfig specified, then this instance will have no external IPv6 Internet access.
+          { # An access configuration attached to an instance&#x27;s network interface. Only one access config per instance is supported.
+            &quot;externalIpv6&quot;: &quot;A String&quot;, # [Output Only] The first IPv6 address of the external IPv6 range associated with this instance, prefix length is stored in externalIpv6PrefixLength in ipv6AccessConfig. The field is output only, an IPv6 address from a subnetwork associated with the instance will be allocated dynamically.
+            &quot;externalIpv6PrefixLength&quot;: 42, # [Output Only] The prefix length of the external IPv6 range.
+            &quot;kind&quot;: &quot;compute#accessConfig&quot;, # [Output Only] Type of the resource. Always compute#accessConfig for access configs.
+            &quot;name&quot;: &quot;A String&quot;, # The name of this access configuration. The default and recommended name is External NAT, but you can use any arbitrary string, such as My external IP or Network Access.
+            &quot;natIP&quot;: &quot;A String&quot;, # An external IP address associated with this instance. Specify an unused static external IP address available to the project or leave this field undefined to use an IP from a shared ephemeral IP address pool. If you specify a static external IP address, it must live in the same region as the zone of the instance.
+            &quot;networkTier&quot;: &quot;A String&quot;, # This signifies the networking tier used for configuring this access configuration and can only take the following values: PREMIUM, STANDARD.
+                #
+                # If an AccessConfig is specified without a valid external IP address, an ephemeral IP will be created with this networkTier.
+                #
+                # If an AccessConfig with a valid external IP address is specified, it must match that of the networkTier associated with the Address resource owning that IP.
+            &quot;publicPtrDomainName&quot;: &quot;A String&quot;, # The DNS domain name for the public PTR record. You can set this field only if the `setPublicPtr` field is enabled.
+            &quot;setPublicPtr&quot;: True or False, # Specifies whether a public DNS &#x27;PTR&#x27; record should be created to map the external IP address of the instance to a DNS domain name.
+            &quot;type&quot;: &quot;ONE_TO_ONE_NAT&quot;, # The type of configuration. The default and only option is ONE_TO_ONE_NAT.
+          },
+        ],
+        &quot;ipv6AccessType&quot;: &quot;A String&quot;, # [Output Only] One of EXTERNAL, INTERNAL to indicate whether the IP can be accessed from the Internet. This field is always inherited from its subnetwork.
+            #
+            # Valid only if stackType is IPV4_IPV6.
         &quot;ipv6Address&quot;: &quot;A String&quot;, # [Output Only] An IPv6 internal network address for this network interface.
         &quot;kind&quot;: &quot;compute#networkInterface&quot;, # [Output Only] Type of the resource. Always compute#networkInterface for network interfaces.
         &quot;name&quot;: &quot;A String&quot;, # [Output Only] The name of the network interface, which is generated by the server. For network devices, these are eth0, eth1, etc.
@@ -1322,6 +1371,9 @@
             # - global/networks/default
         &quot;networkIP&quot;: &quot;A String&quot;, # An IPv4 internal IP address to assign to the instance for this network interface. If not specified by the user, an unused internal IP is assigned by the system.
         &quot;nicType&quot;: &quot;A String&quot;, # The type of vNIC to be used on this interface. This may be gVNIC or VirtioNet.
+        &quot;stackType&quot;: &quot;A String&quot;, # The stack type for this network interface to identify whether the IPv6 feature is enabled or not. If not specified, IPV4_ONLY will be used.
+            #
+            # This field can be both set at instance creation and update network interface operations.
         &quot;subnetwork&quot;: &quot;A String&quot;, # The URL of the Subnetwork resource for this instance. If the network resource is in legacy mode, do not specify this field. If the network is in auto subnet mode, specifying the subnetwork is optional. If the network is in custom subnet mode, specifying the subnetwork is required. If you specify this field, you can specify the subnetwork as a full or partial URL. For example, the following are all valid URLs:
             # - https://www.googleapis.com/compute/v1/projects/project/regions/region/subnetworks/subnetwork
             # - regions/region/subnetworks/subnetwork
@@ -1342,7 +1394,7 @@
     &quot;resourcePolicies&quot;: [ # Resource policies (names, not ULRs) applied to instances created from these properties.
       &quot;A String&quot;,
     ],
-    &quot;scheduling&quot;: { # Sets the scheduling options for an Instance. NextID: 20 # Specifies the scheduling options for the instances that are created from these properties.
+    &quot;scheduling&quot;: { # Sets the scheduling options for an Instance. NextID: 21 # Specifies the scheduling options for the instances that are created from these properties.
       &quot;automaticRestart&quot;: True or False, # Specifies whether the instance should be automatically restarted if it is terminated by Compute Engine (not terminated by a user). You can only set the automatic restart option for standard instances. Preemptible instances cannot be automatically restarted.
           #
           # By default, this is set to true so an instance is automatically restarted if it is terminated by Compute Engine.
@@ -1392,7 +1444,7 @@
   &quot;locationPolicy&quot;: { # Configuration for location policy among multiple possible locations (e.g. preferences for zone selection among zones in a single region). # Policy for chosing target zone.
     &quot;locations&quot;: { # Location configurations mapped by location name. Currently only zone names are supported and must be represented as valid internal URLs, such as zones/us-central1-a.
       &quot;a_key&quot;: {
-        &quot;preference&quot;: &quot;A String&quot;, # Preference for a given locaction: ALLOW or DENY.
+        &quot;preference&quot;: &quot;A String&quot;, # Preference for a given location: ALLOW or DENY.
       },
     },
   },
@@ -1963,6 +2015,8 @@
     { # A network interface resource attached to an instance.
       &quot;accessConfigs&quot;: [ # An array of configurations for this interface. Currently, only one access config, ONE_TO_ONE_NAT, is supported. If there are no accessConfigs specified, then this instance will have no external internet access.
         { # An access configuration attached to an instance&#x27;s network interface. Only one access config per instance is supported.
+          &quot;externalIpv6&quot;: &quot;A String&quot;, # [Output Only] The first IPv6 address of the external IPv6 range associated with this instance, prefix length is stored in externalIpv6PrefixLength in ipv6AccessConfig. The field is output only, an IPv6 address from a subnetwork associated with the instance will be allocated dynamically.
+          &quot;externalIpv6PrefixLength&quot;: 42, # [Output Only] The prefix length of the external IPv6 range.
           &quot;kind&quot;: &quot;compute#accessConfig&quot;, # [Output Only] Type of the resource. Always compute#accessConfig for access configs.
           &quot;name&quot;: &quot;A String&quot;, # The name of this access configuration. The default and recommended name is External NAT, but you can use any arbitrary string, such as My external IP or Network Access.
           &quot;natIP&quot;: &quot;A String&quot;, # An external IP address associated with this instance. Specify an unused static external IP address available to the project or leave this field undefined to use an IP from a shared ephemeral IP address pool. If you specify a static external IP address, it must live in the same region as the zone of the instance.
@@ -1983,6 +2037,26 @@
         },
       ],
       &quot;fingerprint&quot;: &quot;A String&quot;, # Fingerprint hash of contents stored in this network interface. This field will be ignored when inserting an Instance or adding a NetworkInterface. An up-to-date fingerprint must be provided in order to update the NetworkInterface. The request will fail with error 400 Bad Request if the fingerprint is not provided, or 412 Precondition Failed if the fingerprint is out of date.
+      &quot;ipv6AccessConfigs&quot;: [ # An array of IPv6 access configurations for this interface. Currently, only one IPv6 access config, DIRECT_IPV6, is supported. If there is no ipv6AccessConfig specified, then this instance will have no external IPv6 Internet access.
+        { # An access configuration attached to an instance&#x27;s network interface. Only one access config per instance is supported.
+          &quot;externalIpv6&quot;: &quot;A String&quot;, # [Output Only] The first IPv6 address of the external IPv6 range associated with this instance, prefix length is stored in externalIpv6PrefixLength in ipv6AccessConfig. The field is output only, an IPv6 address from a subnetwork associated with the instance will be allocated dynamically.
+          &quot;externalIpv6PrefixLength&quot;: 42, # [Output Only] The prefix length of the external IPv6 range.
+          &quot;kind&quot;: &quot;compute#accessConfig&quot;, # [Output Only] Type of the resource. Always compute#accessConfig for access configs.
+          &quot;name&quot;: &quot;A String&quot;, # The name of this access configuration. The default and recommended name is External NAT, but you can use any arbitrary string, such as My external IP or Network Access.
+          &quot;natIP&quot;: &quot;A String&quot;, # An external IP address associated with this instance. Specify an unused static external IP address available to the project or leave this field undefined to use an IP from a shared ephemeral IP address pool. If you specify a static external IP address, it must live in the same region as the zone of the instance.
+          &quot;networkTier&quot;: &quot;A String&quot;, # This signifies the networking tier used for configuring this access configuration and can only take the following values: PREMIUM, STANDARD.
+              #
+              # If an AccessConfig is specified without a valid external IP address, an ephemeral IP will be created with this networkTier.
+              #
+              # If an AccessConfig with a valid external IP address is specified, it must match that of the networkTier associated with the Address resource owning that IP.
+          &quot;publicPtrDomainName&quot;: &quot;A String&quot;, # The DNS domain name for the public PTR record. You can set this field only if the `setPublicPtr` field is enabled.
+          &quot;setPublicPtr&quot;: True or False, # Specifies whether a public DNS &#x27;PTR&#x27; record should be created to map the external IP address of the instance to a DNS domain name.
+          &quot;type&quot;: &quot;ONE_TO_ONE_NAT&quot;, # The type of configuration. The default and only option is ONE_TO_ONE_NAT.
+        },
+      ],
+      &quot;ipv6AccessType&quot;: &quot;A String&quot;, # [Output Only] One of EXTERNAL, INTERNAL to indicate whether the IP can be accessed from the Internet. This field is always inherited from its subnetwork.
+          #
+          # Valid only if stackType is IPV4_IPV6.
       &quot;ipv6Address&quot;: &quot;A String&quot;, # [Output Only] An IPv6 internal network address for this network interface.
       &quot;kind&quot;: &quot;compute#networkInterface&quot;, # [Output Only] Type of the resource. Always compute#networkInterface for network interfaces.
       &quot;name&quot;: &quot;A String&quot;, # [Output Only] The name of the network interface, which is generated by the server. For network devices, these are eth0, eth1, etc.
@@ -1994,6 +2068,9 @@
           # - global/networks/default
       &quot;networkIP&quot;: &quot;A String&quot;, # An IPv4 internal IP address to assign to the instance for this network interface. If not specified by the user, an unused internal IP is assigned by the system.
       &quot;nicType&quot;: &quot;A String&quot;, # The type of vNIC to be used on this interface. This may be gVNIC or VirtioNet.
+      &quot;stackType&quot;: &quot;A String&quot;, # The stack type for this network interface to identify whether the IPv6 feature is enabled or not. If not specified, IPV4_ONLY will be used.
+          #
+          # This field can be both set at instance creation and update network interface operations.
       &quot;subnetwork&quot;: &quot;A String&quot;, # The URL of the Subnetwork resource for this instance. If the network resource is in legacy mode, do not specify this field. If the network is in auto subnet mode, specifying the subnetwork is optional. If the network is in custom subnet mode, specifying the subnetwork is required. If you specify this field, you can specify the subnetwork as a full or partial URL. For example, the following are all valid URLs:
           # - https://www.googleapis.com/compute/v1/projects/project/regions/region/subnetworks/subnetwork
           # - regions/region/subnetworks/subnetwork
@@ -2015,7 +2092,7 @@
     &quot;A String&quot;,
   ],
   &quot;satisfiesPzs&quot;: True or False, # [Output Only] Reserved for future use.
-  &quot;scheduling&quot;: { # Sets the scheduling options for an Instance. NextID: 20 # Sets the scheduling options for this instance.
+  &quot;scheduling&quot;: { # Sets the scheduling options for an Instance. NextID: 21 # Sets the scheduling options for this instance.
     &quot;automaticRestart&quot;: True or False, # Specifies whether the instance should be automatically restarted if it is terminated by Compute Engine (not terminated by a user). You can only set the automatic restart option for standard instances. Preemptible instances cannot be automatically restarted.
         #
         # By default, this is set to true so an instance is automatically restarted if it is terminated by Compute Engine.
@@ -2854,6 +2931,8 @@
     { # A network interface resource attached to an instance.
       &quot;accessConfigs&quot;: [ # An array of configurations for this interface. Currently, only one access config, ONE_TO_ONE_NAT, is supported. If there are no accessConfigs specified, then this instance will have no external internet access.
         { # An access configuration attached to an instance&#x27;s network interface. Only one access config per instance is supported.
+          &quot;externalIpv6&quot;: &quot;A String&quot;, # [Output Only] The first IPv6 address of the external IPv6 range associated with this instance, prefix length is stored in externalIpv6PrefixLength in ipv6AccessConfig. The field is output only, an IPv6 address from a subnetwork associated with the instance will be allocated dynamically.
+          &quot;externalIpv6PrefixLength&quot;: 42, # [Output Only] The prefix length of the external IPv6 range.
           &quot;kind&quot;: &quot;compute#accessConfig&quot;, # [Output Only] Type of the resource. Always compute#accessConfig for access configs.
           &quot;name&quot;: &quot;A String&quot;, # The name of this access configuration. The default and recommended name is External NAT, but you can use any arbitrary string, such as My external IP or Network Access.
           &quot;natIP&quot;: &quot;A String&quot;, # An external IP address associated with this instance. Specify an unused static external IP address available to the project or leave this field undefined to use an IP from a shared ephemeral IP address pool. If you specify a static external IP address, it must live in the same region as the zone of the instance.
@@ -2874,6 +2953,26 @@
         },
       ],
       &quot;fingerprint&quot;: &quot;A String&quot;, # Fingerprint hash of contents stored in this network interface. This field will be ignored when inserting an Instance or adding a NetworkInterface. An up-to-date fingerprint must be provided in order to update the NetworkInterface. The request will fail with error 400 Bad Request if the fingerprint is not provided, or 412 Precondition Failed if the fingerprint is out of date.
+      &quot;ipv6AccessConfigs&quot;: [ # An array of IPv6 access configurations for this interface. Currently, only one IPv6 access config, DIRECT_IPV6, is supported. If there is no ipv6AccessConfig specified, then this instance will have no external IPv6 Internet access.
+        { # An access configuration attached to an instance&#x27;s network interface. Only one access config per instance is supported.
+          &quot;externalIpv6&quot;: &quot;A String&quot;, # [Output Only] The first IPv6 address of the external IPv6 range associated with this instance, prefix length is stored in externalIpv6PrefixLength in ipv6AccessConfig. The field is output only, an IPv6 address from a subnetwork associated with the instance will be allocated dynamically.
+          &quot;externalIpv6PrefixLength&quot;: 42, # [Output Only] The prefix length of the external IPv6 range.
+          &quot;kind&quot;: &quot;compute#accessConfig&quot;, # [Output Only] Type of the resource. Always compute#accessConfig for access configs.
+          &quot;name&quot;: &quot;A String&quot;, # The name of this access configuration. The default and recommended name is External NAT, but you can use any arbitrary string, such as My external IP or Network Access.
+          &quot;natIP&quot;: &quot;A String&quot;, # An external IP address associated with this instance. Specify an unused static external IP address available to the project or leave this field undefined to use an IP from a shared ephemeral IP address pool. If you specify a static external IP address, it must live in the same region as the zone of the instance.
+          &quot;networkTier&quot;: &quot;A String&quot;, # This signifies the networking tier used for configuring this access configuration and can only take the following values: PREMIUM, STANDARD.
+              #
+              # If an AccessConfig is specified without a valid external IP address, an ephemeral IP will be created with this networkTier.
+              #
+              # If an AccessConfig with a valid external IP address is specified, it must match that of the networkTier associated with the Address resource owning that IP.
+          &quot;publicPtrDomainName&quot;: &quot;A String&quot;, # The DNS domain name for the public PTR record. You can set this field only if the `setPublicPtr` field is enabled.
+          &quot;setPublicPtr&quot;: True or False, # Specifies whether a public DNS &#x27;PTR&#x27; record should be created to map the external IP address of the instance to a DNS domain name.
+          &quot;type&quot;: &quot;ONE_TO_ONE_NAT&quot;, # The type of configuration. The default and only option is ONE_TO_ONE_NAT.
+        },
+      ],
+      &quot;ipv6AccessType&quot;: &quot;A String&quot;, # [Output Only] One of EXTERNAL, INTERNAL to indicate whether the IP can be accessed from the Internet. This field is always inherited from its subnetwork.
+          #
+          # Valid only if stackType is IPV4_IPV6.
       &quot;ipv6Address&quot;: &quot;A String&quot;, # [Output Only] An IPv6 internal network address for this network interface.
       &quot;kind&quot;: &quot;compute#networkInterface&quot;, # [Output Only] Type of the resource. Always compute#networkInterface for network interfaces.
       &quot;name&quot;: &quot;A String&quot;, # [Output Only] The name of the network interface, which is generated by the server. For network devices, these are eth0, eth1, etc.
@@ -2885,6 +2984,9 @@
           # - global/networks/default
       &quot;networkIP&quot;: &quot;A String&quot;, # An IPv4 internal IP address to assign to the instance for this network interface. If not specified by the user, an unused internal IP is assigned by the system.
       &quot;nicType&quot;: &quot;A String&quot;, # The type of vNIC to be used on this interface. This may be gVNIC or VirtioNet.
+      &quot;stackType&quot;: &quot;A String&quot;, # The stack type for this network interface to identify whether the IPv6 feature is enabled or not. If not specified, IPV4_ONLY will be used.
+          #
+          # This field can be both set at instance creation and update network interface operations.
       &quot;subnetwork&quot;: &quot;A String&quot;, # The URL of the Subnetwork resource for this instance. If the network resource is in legacy mode, do not specify this field. If the network is in auto subnet mode, specifying the subnetwork is optional. If the network is in custom subnet mode, specifying the subnetwork is required. If you specify this field, you can specify the subnetwork as a full or partial URL. For example, the following are all valid URLs:
           # - https://www.googleapis.com/compute/v1/projects/project/regions/region/subnetworks/subnetwork
           # - regions/region/subnetworks/subnetwork
@@ -2906,7 +3008,7 @@
     &quot;A String&quot;,
   ],
   &quot;satisfiesPzs&quot;: True or False, # [Output Only] Reserved for future use.
-  &quot;scheduling&quot;: { # Sets the scheduling options for an Instance. NextID: 20 # Sets the scheduling options for this instance.
+  &quot;scheduling&quot;: { # Sets the scheduling options for an Instance. NextID: 21 # Sets the scheduling options for this instance.
     &quot;automaticRestart&quot;: True or False, # Specifies whether the instance should be automatically restarted if it is terminated by Compute Engine (not terminated by a user). You can only set the automatic restart option for standard instances. Preemptible instances cannot be automatically restarted.
         #
         # By default, this is set to true so an instance is automatically restarted if it is terminated by Compute Engine.
@@ -3317,6 +3419,8 @@
         { # A network interface resource attached to an instance.
           &quot;accessConfigs&quot;: [ # An array of configurations for this interface. Currently, only one access config, ONE_TO_ONE_NAT, is supported. If there are no accessConfigs specified, then this instance will have no external internet access.
             { # An access configuration attached to an instance&#x27;s network interface. Only one access config per instance is supported.
+              &quot;externalIpv6&quot;: &quot;A String&quot;, # [Output Only] The first IPv6 address of the external IPv6 range associated with this instance, prefix length is stored in externalIpv6PrefixLength in ipv6AccessConfig. The field is output only, an IPv6 address from a subnetwork associated with the instance will be allocated dynamically.
+              &quot;externalIpv6PrefixLength&quot;: 42, # [Output Only] The prefix length of the external IPv6 range.
               &quot;kind&quot;: &quot;compute#accessConfig&quot;, # [Output Only] Type of the resource. Always compute#accessConfig for access configs.
               &quot;name&quot;: &quot;A String&quot;, # The name of this access configuration. The default and recommended name is External NAT, but you can use any arbitrary string, such as My external IP or Network Access.
               &quot;natIP&quot;: &quot;A String&quot;, # An external IP address associated with this instance. Specify an unused static external IP address available to the project or leave this field undefined to use an IP from a shared ephemeral IP address pool. If you specify a static external IP address, it must live in the same region as the zone of the instance.
@@ -3337,6 +3441,26 @@
             },
           ],
           &quot;fingerprint&quot;: &quot;A String&quot;, # Fingerprint hash of contents stored in this network interface. This field will be ignored when inserting an Instance or adding a NetworkInterface. An up-to-date fingerprint must be provided in order to update the NetworkInterface. The request will fail with error 400 Bad Request if the fingerprint is not provided, or 412 Precondition Failed if the fingerprint is out of date.
+          &quot;ipv6AccessConfigs&quot;: [ # An array of IPv6 access configurations for this interface. Currently, only one IPv6 access config, DIRECT_IPV6, is supported. If there is no ipv6AccessConfig specified, then this instance will have no external IPv6 Internet access.
+            { # An access configuration attached to an instance&#x27;s network interface. Only one access config per instance is supported.
+              &quot;externalIpv6&quot;: &quot;A String&quot;, # [Output Only] The first IPv6 address of the external IPv6 range associated with this instance, prefix length is stored in externalIpv6PrefixLength in ipv6AccessConfig. The field is output only, an IPv6 address from a subnetwork associated with the instance will be allocated dynamically.
+              &quot;externalIpv6PrefixLength&quot;: 42, # [Output Only] The prefix length of the external IPv6 range.
+              &quot;kind&quot;: &quot;compute#accessConfig&quot;, # [Output Only] Type of the resource. Always compute#accessConfig for access configs.
+              &quot;name&quot;: &quot;A String&quot;, # The name of this access configuration. The default and recommended name is External NAT, but you can use any arbitrary string, such as My external IP or Network Access.
+              &quot;natIP&quot;: &quot;A String&quot;, # An external IP address associated with this instance. Specify an unused static external IP address available to the project or leave this field undefined to use an IP from a shared ephemeral IP address pool. If you specify a static external IP address, it must live in the same region as the zone of the instance.
+              &quot;networkTier&quot;: &quot;A String&quot;, # This signifies the networking tier used for configuring this access configuration and can only take the following values: PREMIUM, STANDARD.
+                  #
+                  # If an AccessConfig is specified without a valid external IP address, an ephemeral IP will be created with this networkTier.
+                  #
+                  # If an AccessConfig with a valid external IP address is specified, it must match that of the networkTier associated with the Address resource owning that IP.
+              &quot;publicPtrDomainName&quot;: &quot;A String&quot;, # The DNS domain name for the public PTR record. You can set this field only if the `setPublicPtr` field is enabled.
+              &quot;setPublicPtr&quot;: True or False, # Specifies whether a public DNS &#x27;PTR&#x27; record should be created to map the external IP address of the instance to a DNS domain name.
+              &quot;type&quot;: &quot;ONE_TO_ONE_NAT&quot;, # The type of configuration. The default and only option is ONE_TO_ONE_NAT.
+            },
+          ],
+          &quot;ipv6AccessType&quot;: &quot;A String&quot;, # [Output Only] One of EXTERNAL, INTERNAL to indicate whether the IP can be accessed from the Internet. This field is always inherited from its subnetwork.
+              #
+              # Valid only if stackType is IPV4_IPV6.
           &quot;ipv6Address&quot;: &quot;A String&quot;, # [Output Only] An IPv6 internal network address for this network interface.
           &quot;kind&quot;: &quot;compute#networkInterface&quot;, # [Output Only] Type of the resource. Always compute#networkInterface for network interfaces.
           &quot;name&quot;: &quot;A String&quot;, # [Output Only] The name of the network interface, which is generated by the server. For network devices, these are eth0, eth1, etc.
@@ -3348,6 +3472,9 @@
               # - global/networks/default
           &quot;networkIP&quot;: &quot;A String&quot;, # An IPv4 internal IP address to assign to the instance for this network interface. If not specified by the user, an unused internal IP is assigned by the system.
           &quot;nicType&quot;: &quot;A String&quot;, # The type of vNIC to be used on this interface. This may be gVNIC or VirtioNet.
+          &quot;stackType&quot;: &quot;A String&quot;, # The stack type for this network interface to identify whether the IPv6 feature is enabled or not. If not specified, IPV4_ONLY will be used.
+              #
+              # This field can be both set at instance creation and update network interface operations.
           &quot;subnetwork&quot;: &quot;A String&quot;, # The URL of the Subnetwork resource for this instance. If the network resource is in legacy mode, do not specify this field. If the network is in auto subnet mode, specifying the subnetwork is optional. If the network is in custom subnet mode, specifying the subnetwork is required. If you specify this field, you can specify the subnetwork as a full or partial URL. For example, the following are all valid URLs:
               # - https://www.googleapis.com/compute/v1/projects/project/regions/region/subnetworks/subnetwork
               # - regions/region/subnetworks/subnetwork
@@ -3369,7 +3496,7 @@
         &quot;A String&quot;,
       ],
       &quot;satisfiesPzs&quot;: True or False, # [Output Only] Reserved for future use.
-      &quot;scheduling&quot;: { # Sets the scheduling options for an Instance. NextID: 20 # Sets the scheduling options for this instance.
+      &quot;scheduling&quot;: { # Sets the scheduling options for an Instance. NextID: 21 # Sets the scheduling options for this instance.
         &quot;automaticRestart&quot;: True or False, # Specifies whether the instance should be automatically restarted if it is terminated by Compute Engine (not terminated by a user). You can only set the automatic restart option for standard instances. Preemptible instances cannot be automatically restarted.
             #
             # By default, this is set to true so an instance is automatically restarted if it is terminated by Compute Engine.
@@ -4971,7 +5098,7 @@
   body: object, The request body.
     The object takes the form of:
 
-{ # Sets the scheduling options for an Instance. NextID: 20
+{ # Sets the scheduling options for an Instance. NextID: 21
   &quot;automaticRestart&quot;: True or False, # Specifies whether the instance should be automatically restarted if it is terminated by Compute Engine (not terminated by a user). You can only set the automatic restart option for standard instances. Preemptible instances cannot be automatically restarted.
       # 
       # By default, this is set to true so an instance is automatically restarted if it is terminated by Compute Engine.
@@ -6088,6 +6215,8 @@
     { # A network interface resource attached to an instance.
       &quot;accessConfigs&quot;: [ # An array of configurations for this interface. Currently, only one access config, ONE_TO_ONE_NAT, is supported. If there are no accessConfigs specified, then this instance will have no external internet access.
         { # An access configuration attached to an instance&#x27;s network interface. Only one access config per instance is supported.
+          &quot;externalIpv6&quot;: &quot;A String&quot;, # [Output Only] The first IPv6 address of the external IPv6 range associated with this instance, prefix length is stored in externalIpv6PrefixLength in ipv6AccessConfig. The field is output only, an IPv6 address from a subnetwork associated with the instance will be allocated dynamically.
+          &quot;externalIpv6PrefixLength&quot;: 42, # [Output Only] The prefix length of the external IPv6 range.
           &quot;kind&quot;: &quot;compute#accessConfig&quot;, # [Output Only] Type of the resource. Always compute#accessConfig for access configs.
           &quot;name&quot;: &quot;A String&quot;, # The name of this access configuration. The default and recommended name is External NAT, but you can use any arbitrary string, such as My external IP or Network Access.
           &quot;natIP&quot;: &quot;A String&quot;, # An external IP address associated with this instance. Specify an unused static external IP address available to the project or leave this field undefined to use an IP from a shared ephemeral IP address pool. If you specify a static external IP address, it must live in the same region as the zone of the instance.
@@ -6108,6 +6237,26 @@
         },
       ],
       &quot;fingerprint&quot;: &quot;A String&quot;, # Fingerprint hash of contents stored in this network interface. This field will be ignored when inserting an Instance or adding a NetworkInterface. An up-to-date fingerprint must be provided in order to update the NetworkInterface. The request will fail with error 400 Bad Request if the fingerprint is not provided, or 412 Precondition Failed if the fingerprint is out of date.
+      &quot;ipv6AccessConfigs&quot;: [ # An array of IPv6 access configurations for this interface. Currently, only one IPv6 access config, DIRECT_IPV6, is supported. If there is no ipv6AccessConfig specified, then this instance will have no external IPv6 Internet access.
+        { # An access configuration attached to an instance&#x27;s network interface. Only one access config per instance is supported.
+          &quot;externalIpv6&quot;: &quot;A String&quot;, # [Output Only] The first IPv6 address of the external IPv6 range associated with this instance, prefix length is stored in externalIpv6PrefixLength in ipv6AccessConfig. The field is output only, an IPv6 address from a subnetwork associated with the instance will be allocated dynamically.
+          &quot;externalIpv6PrefixLength&quot;: 42, # [Output Only] The prefix length of the external IPv6 range.
+          &quot;kind&quot;: &quot;compute#accessConfig&quot;, # [Output Only] Type of the resource. Always compute#accessConfig for access configs.
+          &quot;name&quot;: &quot;A String&quot;, # The name of this access configuration. The default and recommended name is External NAT, but you can use any arbitrary string, such as My external IP or Network Access.
+          &quot;natIP&quot;: &quot;A String&quot;, # An external IP address associated with this instance. Specify an unused static external IP address available to the project or leave this field undefined to use an IP from a shared ephemeral IP address pool. If you specify a static external IP address, it must live in the same region as the zone of the instance.
+          &quot;networkTier&quot;: &quot;A String&quot;, # This signifies the networking tier used for configuring this access configuration and can only take the following values: PREMIUM, STANDARD.
+              #
+              # If an AccessConfig is specified without a valid external IP address, an ephemeral IP will be created with this networkTier.
+              #
+              # If an AccessConfig with a valid external IP address is specified, it must match that of the networkTier associated with the Address resource owning that IP.
+          &quot;publicPtrDomainName&quot;: &quot;A String&quot;, # The DNS domain name for the public PTR record. You can set this field only if the `setPublicPtr` field is enabled.
+          &quot;setPublicPtr&quot;: True or False, # Specifies whether a public DNS &#x27;PTR&#x27; record should be created to map the external IP address of the instance to a DNS domain name.
+          &quot;type&quot;: &quot;ONE_TO_ONE_NAT&quot;, # The type of configuration. The default and only option is ONE_TO_ONE_NAT.
+        },
+      ],
+      &quot;ipv6AccessType&quot;: &quot;A String&quot;, # [Output Only] One of EXTERNAL, INTERNAL to indicate whether the IP can be accessed from the Internet. This field is always inherited from its subnetwork.
+          #
+          # Valid only if stackType is IPV4_IPV6.
       &quot;ipv6Address&quot;: &quot;A String&quot;, # [Output Only] An IPv6 internal network address for this network interface.
       &quot;kind&quot;: &quot;compute#networkInterface&quot;, # [Output Only] Type of the resource. Always compute#networkInterface for network interfaces.
       &quot;name&quot;: &quot;A String&quot;, # [Output Only] The name of the network interface, which is generated by the server. For network devices, these are eth0, eth1, etc.
@@ -6119,6 +6268,9 @@
           # - global/networks/default
       &quot;networkIP&quot;: &quot;A String&quot;, # An IPv4 internal IP address to assign to the instance for this network interface. If not specified by the user, an unused internal IP is assigned by the system.
       &quot;nicType&quot;: &quot;A String&quot;, # The type of vNIC to be used on this interface. This may be gVNIC or VirtioNet.
+      &quot;stackType&quot;: &quot;A String&quot;, # The stack type for this network interface to identify whether the IPv6 feature is enabled or not. If not specified, IPV4_ONLY will be used.
+          #
+          # This field can be both set at instance creation and update network interface operations.
       &quot;subnetwork&quot;: &quot;A String&quot;, # The URL of the Subnetwork resource for this instance. If the network resource is in legacy mode, do not specify this field. If the network is in auto subnet mode, specifying the subnetwork is optional. If the network is in custom subnet mode, specifying the subnetwork is required. If you specify this field, you can specify the subnetwork as a full or partial URL. For example, the following are all valid URLs:
           # - https://www.googleapis.com/compute/v1/projects/project/regions/region/subnetworks/subnetwork
           # - regions/region/subnetworks/subnetwork
@@ -6140,7 +6292,7 @@
     &quot;A String&quot;,
   ],
   &quot;satisfiesPzs&quot;: True or False, # [Output Only] Reserved for future use.
-  &quot;scheduling&quot;: { # Sets the scheduling options for an Instance. NextID: 20 # Sets the scheduling options for this instance.
+  &quot;scheduling&quot;: { # Sets the scheduling options for an Instance. NextID: 21 # Sets the scheduling options for this instance.
     &quot;automaticRestart&quot;: True or False, # Specifies whether the instance should be automatically restarted if it is terminated by Compute Engine (not terminated by a user). You can only set the automatic restart option for standard instances. Preemptible instances cannot be automatically restarted.
         #
         # By default, this is set to true so an instance is automatically restarted if it is terminated by Compute Engine.
@@ -6309,6 +6461,8 @@
     The object takes the form of:
 
 { # An access configuration attached to an instance&#x27;s network interface. Only one access config per instance is supported.
+  &quot;externalIpv6&quot;: &quot;A String&quot;, # [Output Only] The first IPv6 address of the external IPv6 range associated with this instance, prefix length is stored in externalIpv6PrefixLength in ipv6AccessConfig. The field is output only, an IPv6 address from a subnetwork associated with the instance will be allocated dynamically.
+  &quot;externalIpv6PrefixLength&quot;: 42, # [Output Only] The prefix length of the external IPv6 range.
   &quot;kind&quot;: &quot;compute#accessConfig&quot;, # [Output Only] Type of the resource. Always compute#accessConfig for access configs.
   &quot;name&quot;: &quot;A String&quot;, # The name of this access configuration. The default and recommended name is External NAT, but you can use any arbitrary string, such as My external IP or Network Access.
   &quot;natIP&quot;: &quot;A String&quot;, # An external IP address associated with this instance. Specify an unused static external IP address available to the project or leave this field undefined to use an IP from a shared ephemeral IP address pool. If you specify a static external IP address, it must live in the same region as the zone of the instance.
@@ -6492,6 +6646,8 @@
 { # A network interface resource attached to an instance.
   &quot;accessConfigs&quot;: [ # An array of configurations for this interface. Currently, only one access config, ONE_TO_ONE_NAT, is supported. If there are no accessConfigs specified, then this instance will have no external internet access.
     { # An access configuration attached to an instance&#x27;s network interface. Only one access config per instance is supported.
+      &quot;externalIpv6&quot;: &quot;A String&quot;, # [Output Only] The first IPv6 address of the external IPv6 range associated with this instance, prefix length is stored in externalIpv6PrefixLength in ipv6AccessConfig. The field is output only, an IPv6 address from a subnetwork associated with the instance will be allocated dynamically.
+      &quot;externalIpv6PrefixLength&quot;: 42, # [Output Only] The prefix length of the external IPv6 range.
       &quot;kind&quot;: &quot;compute#accessConfig&quot;, # [Output Only] Type of the resource. Always compute#accessConfig for access configs.
       &quot;name&quot;: &quot;A String&quot;, # The name of this access configuration. The default and recommended name is External NAT, but you can use any arbitrary string, such as My external IP or Network Access.
       &quot;natIP&quot;: &quot;A String&quot;, # An external IP address associated with this instance. Specify an unused static external IP address available to the project or leave this field undefined to use an IP from a shared ephemeral IP address pool. If you specify a static external IP address, it must live in the same region as the zone of the instance.
@@ -6512,6 +6668,26 @@
     },
   ],
   &quot;fingerprint&quot;: &quot;A String&quot;, # Fingerprint hash of contents stored in this network interface. This field will be ignored when inserting an Instance or adding a NetworkInterface. An up-to-date fingerprint must be provided in order to update the NetworkInterface. The request will fail with error 400 Bad Request if the fingerprint is not provided, or 412 Precondition Failed if the fingerprint is out of date.
+  &quot;ipv6AccessConfigs&quot;: [ # An array of IPv6 access configurations for this interface. Currently, only one IPv6 access config, DIRECT_IPV6, is supported. If there is no ipv6AccessConfig specified, then this instance will have no external IPv6 Internet access.
+    { # An access configuration attached to an instance&#x27;s network interface. Only one access config per instance is supported.
+      &quot;externalIpv6&quot;: &quot;A String&quot;, # [Output Only] The first IPv6 address of the external IPv6 range associated with this instance, prefix length is stored in externalIpv6PrefixLength in ipv6AccessConfig. The field is output only, an IPv6 address from a subnetwork associated with the instance will be allocated dynamically.
+      &quot;externalIpv6PrefixLength&quot;: 42, # [Output Only] The prefix length of the external IPv6 range.
+      &quot;kind&quot;: &quot;compute#accessConfig&quot;, # [Output Only] Type of the resource. Always compute#accessConfig for access configs.
+      &quot;name&quot;: &quot;A String&quot;, # The name of this access configuration. The default and recommended name is External NAT, but you can use any arbitrary string, such as My external IP or Network Access.
+      &quot;natIP&quot;: &quot;A String&quot;, # An external IP address associated with this instance. Specify an unused static external IP address available to the project or leave this field undefined to use an IP from a shared ephemeral IP address pool. If you specify a static external IP address, it must live in the same region as the zone of the instance.
+      &quot;networkTier&quot;: &quot;A String&quot;, # This signifies the networking tier used for configuring this access configuration and can only take the following values: PREMIUM, STANDARD.
+          #
+          # If an AccessConfig is specified without a valid external IP address, an ephemeral IP will be created with this networkTier.
+          #
+          # If an AccessConfig with a valid external IP address is specified, it must match that of the networkTier associated with the Address resource owning that IP.
+      &quot;publicPtrDomainName&quot;: &quot;A String&quot;, # The DNS domain name for the public PTR record. You can set this field only if the `setPublicPtr` field is enabled.
+      &quot;setPublicPtr&quot;: True or False, # Specifies whether a public DNS &#x27;PTR&#x27; record should be created to map the external IP address of the instance to a DNS domain name.
+      &quot;type&quot;: &quot;ONE_TO_ONE_NAT&quot;, # The type of configuration. The default and only option is ONE_TO_ONE_NAT.
+    },
+  ],
+  &quot;ipv6AccessType&quot;: &quot;A String&quot;, # [Output Only] One of EXTERNAL, INTERNAL to indicate whether the IP can be accessed from the Internet. This field is always inherited from its subnetwork.
+      # 
+      # Valid only if stackType is IPV4_IPV6.
   &quot;ipv6Address&quot;: &quot;A String&quot;, # [Output Only] An IPv6 internal network address for this network interface.
   &quot;kind&quot;: &quot;compute#networkInterface&quot;, # [Output Only] Type of the resource. Always compute#networkInterface for network interfaces.
   &quot;name&quot;: &quot;A String&quot;, # [Output Only] The name of the network interface, which is generated by the server. For network devices, these are eth0, eth1, etc.
@@ -6523,6 +6699,9 @@
       # - global/networks/default
   &quot;networkIP&quot;: &quot;A String&quot;, # An IPv4 internal IP address to assign to the instance for this network interface. If not specified by the user, an unused internal IP is assigned by the system.
   &quot;nicType&quot;: &quot;A String&quot;, # The type of vNIC to be used on this interface. This may be gVNIC or VirtioNet.
+  &quot;stackType&quot;: &quot;A String&quot;, # The stack type for this network interface to identify whether the IPv6 feature is enabled or not. If not specified, IPV4_ONLY will be used.
+      # 
+      # This field can be both set at instance creation and update network interface operations.
   &quot;subnetwork&quot;: &quot;A String&quot;, # The URL of the Subnetwork resource for this instance. If the network resource is in legacy mode, do not specify this field. If the network is in auto subnet mode, specifying the subnetwork is optional. If the network is in custom subnet mode, specifying the subnetwork is required. If you specify this field, you can specify the subnetwork as a full or partial URL. For example, the following are all valid URLs:
       # - https://www.googleapis.com/compute/v1/projects/project/regions/region/subnetworks/subnetwork
       # - regions/region/subnetworks/subnetwork
diff --git a/docs/dyn/compute_beta.machineImages.html b/docs/dyn/compute_beta.machineImages.html
index 5f551b3..c3bf227 100644
--- a/docs/dyn/compute_beta.machineImages.html
+++ b/docs/dyn/compute_beta.machineImages.html
@@ -315,6 +315,8 @@
       { # A network interface resource attached to an instance.
         &quot;accessConfigs&quot;: [ # An array of configurations for this interface. Currently, only one access config, ONE_TO_ONE_NAT, is supported. If there are no accessConfigs specified, then this instance will have no external internet access.
           { # An access configuration attached to an instance&#x27;s network interface. Only one access config per instance is supported.
+            &quot;externalIpv6&quot;: &quot;A String&quot;, # [Output Only] The first IPv6 address of the external IPv6 range associated with this instance, prefix length is stored in externalIpv6PrefixLength in ipv6AccessConfig. The field is output only, an IPv6 address from a subnetwork associated with the instance will be allocated dynamically.
+            &quot;externalIpv6PrefixLength&quot;: 42, # [Output Only] The prefix length of the external IPv6 range.
             &quot;kind&quot;: &quot;compute#accessConfig&quot;, # [Output Only] Type of the resource. Always compute#accessConfig for access configs.
             &quot;name&quot;: &quot;A String&quot;, # The name of this access configuration. The default and recommended name is External NAT, but you can use any arbitrary string, such as My external IP or Network Access.
             &quot;natIP&quot;: &quot;A String&quot;, # An external IP address associated with this instance. Specify an unused static external IP address available to the project or leave this field undefined to use an IP from a shared ephemeral IP address pool. If you specify a static external IP address, it must live in the same region as the zone of the instance.
@@ -335,6 +337,26 @@
           },
         ],
         &quot;fingerprint&quot;: &quot;A String&quot;, # Fingerprint hash of contents stored in this network interface. This field will be ignored when inserting an Instance or adding a NetworkInterface. An up-to-date fingerprint must be provided in order to update the NetworkInterface. The request will fail with error 400 Bad Request if the fingerprint is not provided, or 412 Precondition Failed if the fingerprint is out of date.
+        &quot;ipv6AccessConfigs&quot;: [ # An array of IPv6 access configurations for this interface. Currently, only one IPv6 access config, DIRECT_IPV6, is supported. If there is no ipv6AccessConfig specified, then this instance will have no external IPv6 Internet access.
+          { # An access configuration attached to an instance&#x27;s network interface. Only one access config per instance is supported.
+            &quot;externalIpv6&quot;: &quot;A String&quot;, # [Output Only] The first IPv6 address of the external IPv6 range associated with this instance, prefix length is stored in externalIpv6PrefixLength in ipv6AccessConfig. The field is output only, an IPv6 address from a subnetwork associated with the instance will be allocated dynamically.
+            &quot;externalIpv6PrefixLength&quot;: 42, # [Output Only] The prefix length of the external IPv6 range.
+            &quot;kind&quot;: &quot;compute#accessConfig&quot;, # [Output Only] Type of the resource. Always compute#accessConfig for access configs.
+            &quot;name&quot;: &quot;A String&quot;, # The name of this access configuration. The default and recommended name is External NAT, but you can use any arbitrary string, such as My external IP or Network Access.
+            &quot;natIP&quot;: &quot;A String&quot;, # An external IP address associated with this instance. Specify an unused static external IP address available to the project or leave this field undefined to use an IP from a shared ephemeral IP address pool. If you specify a static external IP address, it must live in the same region as the zone of the instance.
+            &quot;networkTier&quot;: &quot;A String&quot;, # This signifies the networking tier used for configuring this access configuration and can only take the following values: PREMIUM, STANDARD.
+                #
+                # If an AccessConfig is specified without a valid external IP address, an ephemeral IP will be created with this networkTier.
+                #
+                # If an AccessConfig with a valid external IP address is specified, it must match that of the networkTier associated with the Address resource owning that IP.
+            &quot;publicPtrDomainName&quot;: &quot;A String&quot;, # The DNS domain name for the public PTR record. You can set this field only if the `setPublicPtr` field is enabled.
+            &quot;setPublicPtr&quot;: True or False, # Specifies whether a public DNS &#x27;PTR&#x27; record should be created to map the external IP address of the instance to a DNS domain name.
+            &quot;type&quot;: &quot;ONE_TO_ONE_NAT&quot;, # The type of configuration. The default and only option is ONE_TO_ONE_NAT.
+          },
+        ],
+        &quot;ipv6AccessType&quot;: &quot;A String&quot;, # [Output Only] One of EXTERNAL, INTERNAL to indicate whether the IP can be accessed from the Internet. This field is always inherited from its subnetwork.
+            #
+            # Valid only if stackType is IPV4_IPV6.
         &quot;ipv6Address&quot;: &quot;A String&quot;, # [Output Only] An IPv6 internal network address for this network interface.
         &quot;kind&quot;: &quot;compute#networkInterface&quot;, # [Output Only] Type of the resource. Always compute#networkInterface for network interfaces.
         &quot;name&quot;: &quot;A String&quot;, # [Output Only] The name of the network interface, which is generated by the server. For network devices, these are eth0, eth1, etc.
@@ -346,13 +368,16 @@
             # - global/networks/default
         &quot;networkIP&quot;: &quot;A String&quot;, # An IPv4 internal IP address to assign to the instance for this network interface. If not specified by the user, an unused internal IP is assigned by the system.
         &quot;nicType&quot;: &quot;A String&quot;, # The type of vNIC to be used on this interface. This may be gVNIC or VirtioNet.
+        &quot;stackType&quot;: &quot;A String&quot;, # The stack type for this network interface to identify whether the IPv6 feature is enabled or not. If not specified, IPV4_ONLY will be used.
+            #
+            # This field can be both set at instance creation and update network interface operations.
         &quot;subnetwork&quot;: &quot;A String&quot;, # The URL of the Subnetwork resource for this instance. If the network resource is in legacy mode, do not specify this field. If the network is in auto subnet mode, specifying the subnetwork is optional. If the network is in custom subnet mode, specifying the subnetwork is required. If you specify this field, you can specify the subnetwork as a full or partial URL. For example, the following are all valid URLs:
             # - https://www.googleapis.com/compute/v1/projects/project/regions/region/subnetworks/subnetwork
             # - regions/region/subnetworks/subnetwork
       },
     ],
     &quot;postKeyRevocationActionType&quot;: &quot;A String&quot;, # PostKeyRevocationActionType of the instance.
-    &quot;scheduling&quot;: { # Sets the scheduling options for an Instance. NextID: 20 # Specifies the scheduling options for the instances that are created from this machine image.
+    &quot;scheduling&quot;: { # Sets the scheduling options for an Instance. NextID: 21 # Specifies the scheduling options for the instances that are created from this machine image.
       &quot;automaticRestart&quot;: True or False, # Specifies whether the instance should be automatically restarted if it is terminated by Compute Engine (not terminated by a user). You can only set the automatic restart option for standard instances. Preemptible instances cannot be automatically restarted.
           #
           # By default, this is set to true so an instance is automatically restarted if it is terminated by Compute Engine.
@@ -722,6 +747,8 @@
       { # A network interface resource attached to an instance.
         &quot;accessConfigs&quot;: [ # An array of configurations for this interface. Currently, only one access config, ONE_TO_ONE_NAT, is supported. If there are no accessConfigs specified, then this instance will have no external internet access.
           { # An access configuration attached to an instance&#x27;s network interface. Only one access config per instance is supported.
+            &quot;externalIpv6&quot;: &quot;A String&quot;, # [Output Only] The first IPv6 address of the external IPv6 range associated with this instance, prefix length is stored in externalIpv6PrefixLength in ipv6AccessConfig. The field is output only, an IPv6 address from a subnetwork associated with the instance will be allocated dynamically.
+            &quot;externalIpv6PrefixLength&quot;: 42, # [Output Only] The prefix length of the external IPv6 range.
             &quot;kind&quot;: &quot;compute#accessConfig&quot;, # [Output Only] Type of the resource. Always compute#accessConfig for access configs.
             &quot;name&quot;: &quot;A String&quot;, # The name of this access configuration. The default and recommended name is External NAT, but you can use any arbitrary string, such as My external IP or Network Access.
             &quot;natIP&quot;: &quot;A String&quot;, # An external IP address associated with this instance. Specify an unused static external IP address available to the project or leave this field undefined to use an IP from a shared ephemeral IP address pool. If you specify a static external IP address, it must live in the same region as the zone of the instance.
@@ -742,6 +769,26 @@
           },
         ],
         &quot;fingerprint&quot;: &quot;A String&quot;, # Fingerprint hash of contents stored in this network interface. This field will be ignored when inserting an Instance or adding a NetworkInterface. An up-to-date fingerprint must be provided in order to update the NetworkInterface. The request will fail with error 400 Bad Request if the fingerprint is not provided, or 412 Precondition Failed if the fingerprint is out of date.
+        &quot;ipv6AccessConfigs&quot;: [ # An array of IPv6 access configurations for this interface. Currently, only one IPv6 access config, DIRECT_IPV6, is supported. If there is no ipv6AccessConfig specified, then this instance will have no external IPv6 Internet access.
+          { # An access configuration attached to an instance&#x27;s network interface. Only one access config per instance is supported.
+            &quot;externalIpv6&quot;: &quot;A String&quot;, # [Output Only] The first IPv6 address of the external IPv6 range associated with this instance, prefix length is stored in externalIpv6PrefixLength in ipv6AccessConfig. The field is output only, an IPv6 address from a subnetwork associated with the instance will be allocated dynamically.
+            &quot;externalIpv6PrefixLength&quot;: 42, # [Output Only] The prefix length of the external IPv6 range.
+            &quot;kind&quot;: &quot;compute#accessConfig&quot;, # [Output Only] Type of the resource. Always compute#accessConfig for access configs.
+            &quot;name&quot;: &quot;A String&quot;, # The name of this access configuration. The default and recommended name is External NAT, but you can use any arbitrary string, such as My external IP or Network Access.
+            &quot;natIP&quot;: &quot;A String&quot;, # An external IP address associated with this instance. Specify an unused static external IP address available to the project or leave this field undefined to use an IP from a shared ephemeral IP address pool. If you specify a static external IP address, it must live in the same region as the zone of the instance.
+            &quot;networkTier&quot;: &quot;A String&quot;, # This signifies the networking tier used for configuring this access configuration and can only take the following values: PREMIUM, STANDARD.
+                #
+                # If an AccessConfig is specified without a valid external IP address, an ephemeral IP will be created with this networkTier.
+                #
+                # If an AccessConfig with a valid external IP address is specified, it must match that of the networkTier associated with the Address resource owning that IP.
+            &quot;publicPtrDomainName&quot;: &quot;A String&quot;, # The DNS domain name for the public PTR record. You can set this field only if the `setPublicPtr` field is enabled.
+            &quot;setPublicPtr&quot;: True or False, # Specifies whether a public DNS &#x27;PTR&#x27; record should be created to map the external IP address of the instance to a DNS domain name.
+            &quot;type&quot;: &quot;ONE_TO_ONE_NAT&quot;, # The type of configuration. The default and only option is ONE_TO_ONE_NAT.
+          },
+        ],
+        &quot;ipv6AccessType&quot;: &quot;A String&quot;, # [Output Only] One of EXTERNAL, INTERNAL to indicate whether the IP can be accessed from the Internet. This field is always inherited from its subnetwork.
+            #
+            # Valid only if stackType is IPV4_IPV6.
         &quot;ipv6Address&quot;: &quot;A String&quot;, # [Output Only] An IPv6 internal network address for this network interface.
         &quot;kind&quot;: &quot;compute#networkInterface&quot;, # [Output Only] Type of the resource. Always compute#networkInterface for network interfaces.
         &quot;name&quot;: &quot;A String&quot;, # [Output Only] The name of the network interface, which is generated by the server. For network devices, these are eth0, eth1, etc.
@@ -753,13 +800,16 @@
             # - global/networks/default
         &quot;networkIP&quot;: &quot;A String&quot;, # An IPv4 internal IP address to assign to the instance for this network interface. If not specified by the user, an unused internal IP is assigned by the system.
         &quot;nicType&quot;: &quot;A String&quot;, # The type of vNIC to be used on this interface. This may be gVNIC or VirtioNet.
+        &quot;stackType&quot;: &quot;A String&quot;, # The stack type for this network interface to identify whether the IPv6 feature is enabled or not. If not specified, IPV4_ONLY will be used.
+            #
+            # This field can be both set at instance creation and update network interface operations.
         &quot;subnetwork&quot;: &quot;A String&quot;, # The URL of the Subnetwork resource for this instance. If the network resource is in legacy mode, do not specify this field. If the network is in auto subnet mode, specifying the subnetwork is optional. If the network is in custom subnet mode, specifying the subnetwork is required. If you specify this field, you can specify the subnetwork as a full or partial URL. For example, the following are all valid URLs:
             # - https://www.googleapis.com/compute/v1/projects/project/regions/region/subnetworks/subnetwork
             # - regions/region/subnetworks/subnetwork
       },
     ],
     &quot;postKeyRevocationActionType&quot;: &quot;A String&quot;, # PostKeyRevocationActionType of the instance.
-    &quot;scheduling&quot;: { # Sets the scheduling options for an Instance. NextID: 20 # Specifies the scheduling options for the instances that are created from this machine image.
+    &quot;scheduling&quot;: { # Sets the scheduling options for an Instance. NextID: 21 # Specifies the scheduling options for the instances that are created from this machine image.
       &quot;automaticRestart&quot;: True or False, # Specifies whether the instance should be automatically restarted if it is terminated by Compute Engine (not terminated by a user). You can only set the automatic restart option for standard instances. Preemptible instances cannot be automatically restarted.
           #
           # By default, this is set to true so an instance is automatically restarted if it is terminated by Compute Engine.
@@ -1022,6 +1072,8 @@
           { # A network interface resource attached to an instance.
             &quot;accessConfigs&quot;: [ # An array of configurations for this interface. Currently, only one access config, ONE_TO_ONE_NAT, is supported. If there are no accessConfigs specified, then this instance will have no external internet access.
               { # An access configuration attached to an instance&#x27;s network interface. Only one access config per instance is supported.
+                &quot;externalIpv6&quot;: &quot;A String&quot;, # [Output Only] The first IPv6 address of the external IPv6 range associated with this instance, prefix length is stored in externalIpv6PrefixLength in ipv6AccessConfig. The field is output only, an IPv6 address from a subnetwork associated with the instance will be allocated dynamically.
+                &quot;externalIpv6PrefixLength&quot;: 42, # [Output Only] The prefix length of the external IPv6 range.
                 &quot;kind&quot;: &quot;compute#accessConfig&quot;, # [Output Only] Type of the resource. Always compute#accessConfig for access configs.
                 &quot;name&quot;: &quot;A String&quot;, # The name of this access configuration. The default and recommended name is External NAT, but you can use any arbitrary string, such as My external IP or Network Access.
                 &quot;natIP&quot;: &quot;A String&quot;, # An external IP address associated with this instance. Specify an unused static external IP address available to the project or leave this field undefined to use an IP from a shared ephemeral IP address pool. If you specify a static external IP address, it must live in the same region as the zone of the instance.
@@ -1042,6 +1094,26 @@
               },
             ],
             &quot;fingerprint&quot;: &quot;A String&quot;, # Fingerprint hash of contents stored in this network interface. This field will be ignored when inserting an Instance or adding a NetworkInterface. An up-to-date fingerprint must be provided in order to update the NetworkInterface. The request will fail with error 400 Bad Request if the fingerprint is not provided, or 412 Precondition Failed if the fingerprint is out of date.
+            &quot;ipv6AccessConfigs&quot;: [ # An array of IPv6 access configurations for this interface. Currently, only one IPv6 access config, DIRECT_IPV6, is supported. If there is no ipv6AccessConfig specified, then this instance will have no external IPv6 Internet access.
+              { # An access configuration attached to an instance&#x27;s network interface. Only one access config per instance is supported.
+                &quot;externalIpv6&quot;: &quot;A String&quot;, # [Output Only] The first IPv6 address of the external IPv6 range associated with this instance, prefix length is stored in externalIpv6PrefixLength in ipv6AccessConfig. The field is output only, an IPv6 address from a subnetwork associated with the instance will be allocated dynamically.
+                &quot;externalIpv6PrefixLength&quot;: 42, # [Output Only] The prefix length of the external IPv6 range.
+                &quot;kind&quot;: &quot;compute#accessConfig&quot;, # [Output Only] Type of the resource. Always compute#accessConfig for access configs.
+                &quot;name&quot;: &quot;A String&quot;, # The name of this access configuration. The default and recommended name is External NAT, but you can use any arbitrary string, such as My external IP or Network Access.
+                &quot;natIP&quot;: &quot;A String&quot;, # An external IP address associated with this instance. Specify an unused static external IP address available to the project or leave this field undefined to use an IP from a shared ephemeral IP address pool. If you specify a static external IP address, it must live in the same region as the zone of the instance.
+                &quot;networkTier&quot;: &quot;A String&quot;, # This signifies the networking tier used for configuring this access configuration and can only take the following values: PREMIUM, STANDARD.
+                    #
+                    # If an AccessConfig is specified without a valid external IP address, an ephemeral IP will be created with this networkTier.
+                    #
+                    # If an AccessConfig with a valid external IP address is specified, it must match that of the networkTier associated with the Address resource owning that IP.
+                &quot;publicPtrDomainName&quot;: &quot;A String&quot;, # The DNS domain name for the public PTR record. You can set this field only if the `setPublicPtr` field is enabled.
+                &quot;setPublicPtr&quot;: True or False, # Specifies whether a public DNS &#x27;PTR&#x27; record should be created to map the external IP address of the instance to a DNS domain name.
+                &quot;type&quot;: &quot;ONE_TO_ONE_NAT&quot;, # The type of configuration. The default and only option is ONE_TO_ONE_NAT.
+              },
+            ],
+            &quot;ipv6AccessType&quot;: &quot;A String&quot;, # [Output Only] One of EXTERNAL, INTERNAL to indicate whether the IP can be accessed from the Internet. This field is always inherited from its subnetwork.
+                #
+                # Valid only if stackType is IPV4_IPV6.
             &quot;ipv6Address&quot;: &quot;A String&quot;, # [Output Only] An IPv6 internal network address for this network interface.
             &quot;kind&quot;: &quot;compute#networkInterface&quot;, # [Output Only] Type of the resource. Always compute#networkInterface for network interfaces.
             &quot;name&quot;: &quot;A String&quot;, # [Output Only] The name of the network interface, which is generated by the server. For network devices, these are eth0, eth1, etc.
@@ -1053,13 +1125,16 @@
                 # - global/networks/default
             &quot;networkIP&quot;: &quot;A String&quot;, # An IPv4 internal IP address to assign to the instance for this network interface. If not specified by the user, an unused internal IP is assigned by the system.
             &quot;nicType&quot;: &quot;A String&quot;, # The type of vNIC to be used on this interface. This may be gVNIC or VirtioNet.
+            &quot;stackType&quot;: &quot;A String&quot;, # The stack type for this network interface to identify whether the IPv6 feature is enabled or not. If not specified, IPV4_ONLY will be used.
+                #
+                # This field can be both set at instance creation and update network interface operations.
             &quot;subnetwork&quot;: &quot;A String&quot;, # The URL of the Subnetwork resource for this instance. If the network resource is in legacy mode, do not specify this field. If the network is in auto subnet mode, specifying the subnetwork is optional. If the network is in custom subnet mode, specifying the subnetwork is required. If you specify this field, you can specify the subnetwork as a full or partial URL. For example, the following are all valid URLs:
                 # - https://www.googleapis.com/compute/v1/projects/project/regions/region/subnetworks/subnetwork
                 # - regions/region/subnetworks/subnetwork
           },
         ],
         &quot;postKeyRevocationActionType&quot;: &quot;A String&quot;, # PostKeyRevocationActionType of the instance.
-        &quot;scheduling&quot;: { # Sets the scheduling options for an Instance. NextID: 20 # Specifies the scheduling options for the instances that are created from this machine image.
+        &quot;scheduling&quot;: { # Sets the scheduling options for an Instance. NextID: 21 # Specifies the scheduling options for the instances that are created from this machine image.
           &quot;automaticRestart&quot;: True or False, # Specifies whether the instance should be automatically restarted if it is terminated by Compute Engine (not terminated by a user). You can only set the automatic restart option for standard instances. Preemptible instances cannot be automatically restarted.
               #
               # By default, this is set to true so an instance is automatically restarted if it is terminated by Compute Engine.
diff --git a/docs/dyn/compute_beta.regionBackendServices.html b/docs/dyn/compute_beta.regionBackendServices.html
index 769778f..9c68b18 100644
--- a/docs/dyn/compute_beta.regionBackendServices.html
+++ b/docs/dyn/compute_beta.regionBackendServices.html
@@ -309,22 +309,16 @@
       &quot;A String&quot;,
     ],
   },
-  &quot;circuitBreakers&quot;: { # Settings controlling the volume of connections to a backend service. # Settings controlling the volume of connections to a backend service. If not set, this feature is considered disabled.
-      #
-      # This field is applicable to either:
-      # - A regional backend service with the service_protocol set to HTTP, HTTPS, or HTTP2, and load_balancing_scheme set to INTERNAL_MANAGED.
-      # - A global backend service with the load_balancing_scheme set to INTERNAL_SELF_MANAGED.
-      #
-      # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
+  &quot;circuitBreakers&quot;: { # Settings controlling the volume of connections to a backend service.
     &quot;connectTimeout&quot;: { # A Duration represents a fixed-length span of time represented as a count of seconds and fractions of seconds at nanosecond resolution. It is independent of any calendar and concepts like &quot;day&quot; or &quot;month&quot;. Range is approximately 10,000 years. # The timeout for new network connections to hosts.
       &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
       &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
     },
-    &quot;maxConnections&quot;: 42, # The maximum number of connections to the backend service. If not specified, there is no limit.
-    &quot;maxPendingRequests&quot;: 42, # The maximum number of pending requests allowed to the backend service. If not specified, there is no limit.
+    &quot;maxConnections&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
+    &quot;maxPendingRequests&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
     &quot;maxRequests&quot;: 42, # The maximum number of parallel requests that allowed to the backend service. If not specified, there is no limit.
-    &quot;maxRequestsPerConnection&quot;: 42, # Maximum requests for a single connection to the backend service. This parameter is respected by both the HTTP/1.1 and HTTP/2 implementations. If not specified, there is no limit. Setting this parameter to 1 will effectively disable keep alive.
-    &quot;maxRetries&quot;: 42, # The maximum number of parallel retries allowed to the backend cluster. If not specified, the default is 1.
+    &quot;maxRequestsPerConnection&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
+    &quot;maxRetries&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
   },
   &quot;connectionDraining&quot;: { # Message containing connection draining configuration.
     &quot;drainingTimeoutSec&quot;: 42, # Configures a duration timeout for existing requests on a removed backend instance. For supported load balancers and protocols, as described in Enabling connection draining.
@@ -420,6 +414,7 @@
   },
   &quot;maxStreamDuration&quot;: { # A Duration represents a fixed-length span of time represented as a count of seconds and fractions of seconds at nanosecond resolution. It is independent of any calendar and concepts like &quot;day&quot; or &quot;month&quot;. Range is approximately 10,000 years. # Specifies the default maximum duration (timeout) for streams to this service. Duration is computed from the beginning of the stream until the response has been completely processed, including all retries. A stream that does not complete in this duration is closed.
       # If not specified, there will be no timeout limit, i.e. the maximum duration is infinite.
+      # This value can be overridden in the PathMatcher configuration of the UrlMap that references this backend service.
       # This field is only allowed when the loadBalancingScheme of the backend service is INTERNAL_SELF_MANAGED.
     &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
     &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
@@ -494,7 +489,7 @@
   &quot;subsetting&quot;: { # Subsetting configuration for this BackendService. Currently this is applicable only for Internal TCP/UDP load balancing and Internal HTTP(S) load balancing.
     &quot;policy&quot;: &quot;A String&quot;,
   },
-  &quot;timeoutSec&quot;: 42, # The backend service timeout has a different meaning depending on the type of load balancer. For more information see,  Backend service settings The default is 30 seconds. The full range of timeout values allowed is 1 - 2,147,483,647 seconds.
+  &quot;timeoutSec&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true. Instead, use maxStreamDuration.
 }</pre>
 </div>
 
@@ -659,22 +654,16 @@
       &quot;A String&quot;,
     ],
   },
-  &quot;circuitBreakers&quot;: { # Settings controlling the volume of connections to a backend service. # Settings controlling the volume of connections to a backend service. If not set, this feature is considered disabled.
-      # 
-      # This field is applicable to either:
-      # - A regional backend service with the service_protocol set to HTTP, HTTPS, or HTTP2, and load_balancing_scheme set to INTERNAL_MANAGED.
-      # - A global backend service with the load_balancing_scheme set to INTERNAL_SELF_MANAGED.
-      # 
-      # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
+  &quot;circuitBreakers&quot;: { # Settings controlling the volume of connections to a backend service.
     &quot;connectTimeout&quot;: { # A Duration represents a fixed-length span of time represented as a count of seconds and fractions of seconds at nanosecond resolution. It is independent of any calendar and concepts like &quot;day&quot; or &quot;month&quot;. Range is approximately 10,000 years. # The timeout for new network connections to hosts.
       &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
       &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
     },
-    &quot;maxConnections&quot;: 42, # The maximum number of connections to the backend service. If not specified, there is no limit.
-    &quot;maxPendingRequests&quot;: 42, # The maximum number of pending requests allowed to the backend service. If not specified, there is no limit.
+    &quot;maxConnections&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
+    &quot;maxPendingRequests&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
     &quot;maxRequests&quot;: 42, # The maximum number of parallel requests that allowed to the backend service. If not specified, there is no limit.
-    &quot;maxRequestsPerConnection&quot;: 42, # Maximum requests for a single connection to the backend service. This parameter is respected by both the HTTP/1.1 and HTTP/2 implementations. If not specified, there is no limit. Setting this parameter to 1 will effectively disable keep alive.
-    &quot;maxRetries&quot;: 42, # The maximum number of parallel retries allowed to the backend cluster. If not specified, the default is 1.
+    &quot;maxRequestsPerConnection&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
+    &quot;maxRetries&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
   },
   &quot;connectionDraining&quot;: { # Message containing connection draining configuration.
     &quot;drainingTimeoutSec&quot;: 42, # Configures a duration timeout for existing requests on a removed backend instance. For supported load balancers and protocols, as described in Enabling connection draining.
@@ -770,6 +759,7 @@
   },
   &quot;maxStreamDuration&quot;: { # A Duration represents a fixed-length span of time represented as a count of seconds and fractions of seconds at nanosecond resolution. It is independent of any calendar and concepts like &quot;day&quot; or &quot;month&quot;. Range is approximately 10,000 years. # Specifies the default maximum duration (timeout) for streams to this service. Duration is computed from the beginning of the stream until the response has been completely processed, including all retries. A stream that does not complete in this duration is closed.
       # If not specified, there will be no timeout limit, i.e. the maximum duration is infinite.
+      # This value can be overridden in the PathMatcher configuration of the UrlMap that references this backend service.
       # This field is only allowed when the loadBalancingScheme of the backend service is INTERNAL_SELF_MANAGED.
     &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
     &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
@@ -844,7 +834,7 @@
   &quot;subsetting&quot;: { # Subsetting configuration for this BackendService. Currently this is applicable only for Internal TCP/UDP load balancing and Internal HTTP(S) load balancing.
     &quot;policy&quot;: &quot;A String&quot;,
   },
-  &quot;timeoutSec&quot;: 42, # The backend service timeout has a different meaning depending on the type of load balancer. For more information see,  Backend service settings The default is 30 seconds. The full range of timeout values allowed is 1 - 2,147,483,647 seconds.
+  &quot;timeoutSec&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true. Instead, use maxStreamDuration.
 }
 
   requestId: string, An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.
@@ -1055,22 +1045,16 @@
           &quot;A String&quot;,
         ],
       },
-      &quot;circuitBreakers&quot;: { # Settings controlling the volume of connections to a backend service. # Settings controlling the volume of connections to a backend service. If not set, this feature is considered disabled.
-          #
-          # This field is applicable to either:
-          # - A regional backend service with the service_protocol set to HTTP, HTTPS, or HTTP2, and load_balancing_scheme set to INTERNAL_MANAGED.
-          # - A global backend service with the load_balancing_scheme set to INTERNAL_SELF_MANAGED.
-          #
-          # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
+      &quot;circuitBreakers&quot;: { # Settings controlling the volume of connections to a backend service.
         &quot;connectTimeout&quot;: { # A Duration represents a fixed-length span of time represented as a count of seconds and fractions of seconds at nanosecond resolution. It is independent of any calendar and concepts like &quot;day&quot; or &quot;month&quot;. Range is approximately 10,000 years. # The timeout for new network connections to hosts.
           &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
           &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
         },
-        &quot;maxConnections&quot;: 42, # The maximum number of connections to the backend service. If not specified, there is no limit.
-        &quot;maxPendingRequests&quot;: 42, # The maximum number of pending requests allowed to the backend service. If not specified, there is no limit.
+        &quot;maxConnections&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
+        &quot;maxPendingRequests&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
         &quot;maxRequests&quot;: 42, # The maximum number of parallel requests that allowed to the backend service. If not specified, there is no limit.
-        &quot;maxRequestsPerConnection&quot;: 42, # Maximum requests for a single connection to the backend service. This parameter is respected by both the HTTP/1.1 and HTTP/2 implementations. If not specified, there is no limit. Setting this parameter to 1 will effectively disable keep alive.
-        &quot;maxRetries&quot;: 42, # The maximum number of parallel retries allowed to the backend cluster. If not specified, the default is 1.
+        &quot;maxRequestsPerConnection&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
+        &quot;maxRetries&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
       },
       &quot;connectionDraining&quot;: { # Message containing connection draining configuration.
         &quot;drainingTimeoutSec&quot;: 42, # Configures a duration timeout for existing requests on a removed backend instance. For supported load balancers and protocols, as described in Enabling connection draining.
@@ -1166,6 +1150,7 @@
       },
       &quot;maxStreamDuration&quot;: { # A Duration represents a fixed-length span of time represented as a count of seconds and fractions of seconds at nanosecond resolution. It is independent of any calendar and concepts like &quot;day&quot; or &quot;month&quot;. Range is approximately 10,000 years. # Specifies the default maximum duration (timeout) for streams to this service. Duration is computed from the beginning of the stream until the response has been completely processed, including all retries. A stream that does not complete in this duration is closed.
           # If not specified, there will be no timeout limit, i.e. the maximum duration is infinite.
+          # This value can be overridden in the PathMatcher configuration of the UrlMap that references this backend service.
           # This field is only allowed when the loadBalancingScheme of the backend service is INTERNAL_SELF_MANAGED.
         &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
         &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
@@ -1240,7 +1225,7 @@
       &quot;subsetting&quot;: { # Subsetting configuration for this BackendService. Currently this is applicable only for Internal TCP/UDP load balancing and Internal HTTP(S) load balancing.
         &quot;policy&quot;: &quot;A String&quot;,
       },
-      &quot;timeoutSec&quot;: 42, # The backend service timeout has a different meaning depending on the type of load balancer. For more information see,  Backend service settings The default is 30 seconds. The full range of timeout values allowed is 1 - 2,147,483,647 seconds.
+      &quot;timeoutSec&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true. Instead, use maxStreamDuration.
     },
   ],
   &quot;kind&quot;: &quot;compute#backendServiceList&quot;, # [Output Only] Type of resource. Always compute#backendServiceList for lists of backend services.
@@ -1394,22 +1379,16 @@
       &quot;A String&quot;,
     ],
   },
-  &quot;circuitBreakers&quot;: { # Settings controlling the volume of connections to a backend service. # Settings controlling the volume of connections to a backend service. If not set, this feature is considered disabled.
-      # 
-      # This field is applicable to either:
-      # - A regional backend service with the service_protocol set to HTTP, HTTPS, or HTTP2, and load_balancing_scheme set to INTERNAL_MANAGED.
-      # - A global backend service with the load_balancing_scheme set to INTERNAL_SELF_MANAGED.
-      # 
-      # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
+  &quot;circuitBreakers&quot;: { # Settings controlling the volume of connections to a backend service.
     &quot;connectTimeout&quot;: { # A Duration represents a fixed-length span of time represented as a count of seconds and fractions of seconds at nanosecond resolution. It is independent of any calendar and concepts like &quot;day&quot; or &quot;month&quot;. Range is approximately 10,000 years. # The timeout for new network connections to hosts.
       &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
       &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
     },
-    &quot;maxConnections&quot;: 42, # The maximum number of connections to the backend service. If not specified, there is no limit.
-    &quot;maxPendingRequests&quot;: 42, # The maximum number of pending requests allowed to the backend service. If not specified, there is no limit.
+    &quot;maxConnections&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
+    &quot;maxPendingRequests&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
     &quot;maxRequests&quot;: 42, # The maximum number of parallel requests that allowed to the backend service. If not specified, there is no limit.
-    &quot;maxRequestsPerConnection&quot;: 42, # Maximum requests for a single connection to the backend service. This parameter is respected by both the HTTP/1.1 and HTTP/2 implementations. If not specified, there is no limit. Setting this parameter to 1 will effectively disable keep alive.
-    &quot;maxRetries&quot;: 42, # The maximum number of parallel retries allowed to the backend cluster. If not specified, the default is 1.
+    &quot;maxRequestsPerConnection&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
+    &quot;maxRetries&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
   },
   &quot;connectionDraining&quot;: { # Message containing connection draining configuration.
     &quot;drainingTimeoutSec&quot;: 42, # Configures a duration timeout for existing requests on a removed backend instance. For supported load balancers and protocols, as described in Enabling connection draining.
@@ -1505,6 +1484,7 @@
   },
   &quot;maxStreamDuration&quot;: { # A Duration represents a fixed-length span of time represented as a count of seconds and fractions of seconds at nanosecond resolution. It is independent of any calendar and concepts like &quot;day&quot; or &quot;month&quot;. Range is approximately 10,000 years. # Specifies the default maximum duration (timeout) for streams to this service. Duration is computed from the beginning of the stream until the response has been completely processed, including all retries. A stream that does not complete in this duration is closed.
       # If not specified, there will be no timeout limit, i.e. the maximum duration is infinite.
+      # This value can be overridden in the PathMatcher configuration of the UrlMap that references this backend service.
       # This field is only allowed when the loadBalancingScheme of the backend service is INTERNAL_SELF_MANAGED.
     &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
     &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
@@ -1579,7 +1559,7 @@
   &quot;subsetting&quot;: { # Subsetting configuration for this BackendService. Currently this is applicable only for Internal TCP/UDP load balancing and Internal HTTP(S) load balancing.
     &quot;policy&quot;: &quot;A String&quot;,
   },
-  &quot;timeoutSec&quot;: 42, # The backend service timeout has a different meaning depending on the type of load balancer. For more information see,  Backend service settings The default is 30 seconds. The full range of timeout values allowed is 1 - 2,147,483,647 seconds.
+  &quot;timeoutSec&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true. Instead, use maxStreamDuration.
 }
 
   requestId: string, An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.
@@ -1800,22 +1780,16 @@
       &quot;A String&quot;,
     ],
   },
-  &quot;circuitBreakers&quot;: { # Settings controlling the volume of connections to a backend service. # Settings controlling the volume of connections to a backend service. If not set, this feature is considered disabled.
-      # 
-      # This field is applicable to either:
-      # - A regional backend service with the service_protocol set to HTTP, HTTPS, or HTTP2, and load_balancing_scheme set to INTERNAL_MANAGED.
-      # - A global backend service with the load_balancing_scheme set to INTERNAL_SELF_MANAGED.
-      # 
-      # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
+  &quot;circuitBreakers&quot;: { # Settings controlling the volume of connections to a backend service.
     &quot;connectTimeout&quot;: { # A Duration represents a fixed-length span of time represented as a count of seconds and fractions of seconds at nanosecond resolution. It is independent of any calendar and concepts like &quot;day&quot; or &quot;month&quot;. Range is approximately 10,000 years. # The timeout for new network connections to hosts.
       &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
       &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
     },
-    &quot;maxConnections&quot;: 42, # The maximum number of connections to the backend service. If not specified, there is no limit.
-    &quot;maxPendingRequests&quot;: 42, # The maximum number of pending requests allowed to the backend service. If not specified, there is no limit.
+    &quot;maxConnections&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
+    &quot;maxPendingRequests&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
     &quot;maxRequests&quot;: 42, # The maximum number of parallel requests that allowed to the backend service. If not specified, there is no limit.
-    &quot;maxRequestsPerConnection&quot;: 42, # Maximum requests for a single connection to the backend service. This parameter is respected by both the HTTP/1.1 and HTTP/2 implementations. If not specified, there is no limit. Setting this parameter to 1 will effectively disable keep alive.
-    &quot;maxRetries&quot;: 42, # The maximum number of parallel retries allowed to the backend cluster. If not specified, the default is 1.
+    &quot;maxRequestsPerConnection&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
+    &quot;maxRetries&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
   },
   &quot;connectionDraining&quot;: { # Message containing connection draining configuration.
     &quot;drainingTimeoutSec&quot;: 42, # Configures a duration timeout for existing requests on a removed backend instance. For supported load balancers and protocols, as described in Enabling connection draining.
@@ -1911,6 +1885,7 @@
   },
   &quot;maxStreamDuration&quot;: { # A Duration represents a fixed-length span of time represented as a count of seconds and fractions of seconds at nanosecond resolution. It is independent of any calendar and concepts like &quot;day&quot; or &quot;month&quot;. Range is approximately 10,000 years. # Specifies the default maximum duration (timeout) for streams to this service. Duration is computed from the beginning of the stream until the response has been completely processed, including all retries. A stream that does not complete in this duration is closed.
       # If not specified, there will be no timeout limit, i.e. the maximum duration is infinite.
+      # This value can be overridden in the PathMatcher configuration of the UrlMap that references this backend service.
       # This field is only allowed when the loadBalancingScheme of the backend service is INTERNAL_SELF_MANAGED.
     &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
     &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
@@ -1985,7 +1960,7 @@
   &quot;subsetting&quot;: { # Subsetting configuration for this BackendService. Currently this is applicable only for Internal TCP/UDP load balancing and Internal HTTP(S) load balancing.
     &quot;policy&quot;: &quot;A String&quot;,
   },
-  &quot;timeoutSec&quot;: 42, # The backend service timeout has a different meaning depending on the type of load balancer. For more information see,  Backend service settings The default is 30 seconds. The full range of timeout values allowed is 1 - 2,147,483,647 seconds.
+  &quot;timeoutSec&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true. Instead, use maxStreamDuration.
 }
 
   requestId: string, An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.
diff --git a/docs/dyn/compute_beta.regionHealthCheckServices.html b/docs/dyn/compute_beta.regionHealthCheckServices.html
index e0dc2af..4580223 100644
--- a/docs/dyn/compute_beta.regionHealthCheckServices.html
+++ b/docs/dyn/compute_beta.regionHealthCheckServices.html
@@ -200,7 +200,7 @@
   &quot;creationTimestamp&quot;: &quot;A String&quot;, # [Output Only] Creation timestamp in RFC3339 text format.
   &quot;description&quot;: &quot;A String&quot;, # An optional description of this resource. Provide this property when you create the resource.
   &quot;fingerprint&quot;: &quot;A String&quot;, # Fingerprint of this resource. A hash of the contents stored in this object. This field is used in optimistic locking. This field will be ignored when inserting a HealthCheckService. An up-to-date fingerprint must be provided in order to patch/update the HealthCheckService; Otherwise, the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve the HealthCheckService.
-  &quot;healthChecks&quot;: [ # List of URLs to the HealthCheck resources. Must have at least one HealthCheck, and not more than 10. HealthCheck resources must have portSpecification=USE_SERVING_PORT. For regional HealthCheckService, the HealthCheck must be regional and in the same region. For global HealthCheckService, HealthCheck must be global. Mix of regional and global HealthChecks is not supported. Multiple regional HealthChecks must belong to the same region. Regional HealthChecks&lt;/code? must belong to the same region as zones of NEGs.
+  &quot;healthChecks&quot;: [ # List of URLs to the HealthCheck resources. Must have at least one HealthCheck, and not more than 10. HealthCheck resources must have portSpecification=USE_SERVING_PORT or portSpecification=USE_FIXED_PORT. For regional HealthCheckService, the HealthCheck must be regional and in the same region. For global HealthCheckService, HealthCheck must be global. Mix of regional and global HealthChecks is not supported. Multiple regional HealthChecks must belong to the same region. Regional HealthChecks must belong to the same region as zones of NEGs.
     &quot;A String&quot;,
   ],
   &quot;healthStatusAggregationPolicy&quot;: &quot;A String&quot;, # Optional. Policy for how the results from multiple health checks for the same endpoint are aggregated. Defaults to NO_AGGREGATION if unspecified.
@@ -241,7 +241,7 @@
   &quot;creationTimestamp&quot;: &quot;A String&quot;, # [Output Only] Creation timestamp in RFC3339 text format.
   &quot;description&quot;: &quot;A String&quot;, # An optional description of this resource. Provide this property when you create the resource.
   &quot;fingerprint&quot;: &quot;A String&quot;, # Fingerprint of this resource. A hash of the contents stored in this object. This field is used in optimistic locking. This field will be ignored when inserting a HealthCheckService. An up-to-date fingerprint must be provided in order to patch/update the HealthCheckService; Otherwise, the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve the HealthCheckService.
-  &quot;healthChecks&quot;: [ # List of URLs to the HealthCheck resources. Must have at least one HealthCheck, and not more than 10. HealthCheck resources must have portSpecification=USE_SERVING_PORT. For regional HealthCheckService, the HealthCheck must be regional and in the same region. For global HealthCheckService, HealthCheck must be global. Mix of regional and global HealthChecks is not supported. Multiple regional HealthChecks must belong to the same region. Regional HealthChecks&lt;/code? must belong to the same region as zones of NEGs.
+  &quot;healthChecks&quot;: [ # List of URLs to the HealthCheck resources. Must have at least one HealthCheck, and not more than 10. HealthCheck resources must have portSpecification=USE_SERVING_PORT or portSpecification=USE_FIXED_PORT. For regional HealthCheckService, the HealthCheck must be regional and in the same region. For global HealthCheckService, HealthCheck must be global. Mix of regional and global HealthChecks is not supported. Multiple regional HealthChecks must belong to the same region. Regional HealthChecks must belong to the same region as zones of NEGs.
     &quot;A String&quot;,
   ],
   &quot;healthStatusAggregationPolicy&quot;: &quot;A String&quot;, # Optional. Policy for how the results from multiple health checks for the same endpoint are aggregated. Defaults to NO_AGGREGATION if unspecified.
@@ -370,7 +370,7 @@
       &quot;creationTimestamp&quot;: &quot;A String&quot;, # [Output Only] Creation timestamp in RFC3339 text format.
       &quot;description&quot;: &quot;A String&quot;, # An optional description of this resource. Provide this property when you create the resource.
       &quot;fingerprint&quot;: &quot;A String&quot;, # Fingerprint of this resource. A hash of the contents stored in this object. This field is used in optimistic locking. This field will be ignored when inserting a HealthCheckService. An up-to-date fingerprint must be provided in order to patch/update the HealthCheckService; Otherwise, the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve the HealthCheckService.
-      &quot;healthChecks&quot;: [ # List of URLs to the HealthCheck resources. Must have at least one HealthCheck, and not more than 10. HealthCheck resources must have portSpecification=USE_SERVING_PORT. For regional HealthCheckService, the HealthCheck must be regional and in the same region. For global HealthCheckService, HealthCheck must be global. Mix of regional and global HealthChecks is not supported. Multiple regional HealthChecks must belong to the same region. Regional HealthChecks&lt;/code? must belong to the same region as zones of NEGs.
+      &quot;healthChecks&quot;: [ # List of URLs to the HealthCheck resources. Must have at least one HealthCheck, and not more than 10. HealthCheck resources must have portSpecification=USE_SERVING_PORT or portSpecification=USE_FIXED_PORT. For regional HealthCheckService, the HealthCheck must be regional and in the same region. For global HealthCheckService, HealthCheck must be global. Mix of regional and global HealthChecks is not supported. Multiple regional HealthChecks must belong to the same region. Regional HealthChecks must belong to the same region as zones of NEGs.
         &quot;A String&quot;,
       ],
       &quot;healthStatusAggregationPolicy&quot;: &quot;A String&quot;, # Optional. Policy for how the results from multiple health checks for the same endpoint are aggregated. Defaults to NO_AGGREGATION if unspecified.
@@ -442,7 +442,7 @@
   &quot;creationTimestamp&quot;: &quot;A String&quot;, # [Output Only] Creation timestamp in RFC3339 text format.
   &quot;description&quot;: &quot;A String&quot;, # An optional description of this resource. Provide this property when you create the resource.
   &quot;fingerprint&quot;: &quot;A String&quot;, # Fingerprint of this resource. A hash of the contents stored in this object. This field is used in optimistic locking. This field will be ignored when inserting a HealthCheckService. An up-to-date fingerprint must be provided in order to patch/update the HealthCheckService; Otherwise, the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve the HealthCheckService.
-  &quot;healthChecks&quot;: [ # List of URLs to the HealthCheck resources. Must have at least one HealthCheck, and not more than 10. HealthCheck resources must have portSpecification=USE_SERVING_PORT. For regional HealthCheckService, the HealthCheck must be regional and in the same region. For global HealthCheckService, HealthCheck must be global. Mix of regional and global HealthChecks is not supported. Multiple regional HealthChecks must belong to the same region. Regional HealthChecks&lt;/code? must belong to the same region as zones of NEGs.
+  &quot;healthChecks&quot;: [ # List of URLs to the HealthCheck resources. Must have at least one HealthCheck, and not more than 10. HealthCheck resources must have portSpecification=USE_SERVING_PORT or portSpecification=USE_FIXED_PORT. For regional HealthCheckService, the HealthCheck must be regional and in the same region. For global HealthCheckService, HealthCheck must be global. Mix of regional and global HealthChecks is not supported. Multiple regional HealthChecks must belong to the same region. Regional HealthChecks must belong to the same region as zones of NEGs.
     &quot;A String&quot;,
   ],
   &quot;healthStatusAggregationPolicy&quot;: &quot;A String&quot;, # Optional. Policy for how the results from multiple health checks for the same endpoint are aggregated. Defaults to NO_AGGREGATION if unspecified.
diff --git a/docs/dyn/compute_beta.regionInstanceGroupManagers.html b/docs/dyn/compute_beta.regionInstanceGroupManagers.html
index 1c7691b..75c4ae0 100644
--- a/docs/dyn/compute_beta.regionInstanceGroupManagers.html
+++ b/docs/dyn/compute_beta.regionInstanceGroupManagers.html
@@ -711,7 +711,9 @@
 Returns:
   An object of the form:
 
-    { # Represents a Managed Instance Group resource.
+    { # Whether the instance is a standby. Properties of a standby instance comparing to the regular instance: ========================================================================= | regular | standby ========================================================================= managed by IGM? | yes | yes added to the IG? | yes | yes counts towards IGM&#x27;s target size? | yes | no taken into account by Autoscaler? | yes | no receives traffic from LB? | yes | no =========================================================================
+    #
+    # Represents a Managed Instance Group resource.
     #
     # An instance group is a collection of VM instances that you can manage as a single entity. For more information, read Instance groups.
     #
@@ -864,7 +866,9 @@
   body: object, The request body.
     The object takes the form of:
 
-{ # Represents a Managed Instance Group resource.
+{ # Whether the instance is a standby. Properties of a standby instance comparing to the regular instance: ========================================================================= | regular | standby ========================================================================= managed by IGM? | yes | yes added to the IG? | yes | yes counts towards IGM&#x27;s target size? | yes | no taken into account by Autoscaler? | yes | no receives traffic from LB? | yes | no =========================================================================
+    # 
+    # Represents a Managed Instance Group resource.
     # 
     # An instance group is a collection of VM instances that you can manage as a single entity. For more information, read Instance groups.
     # 
@@ -1103,7 +1107,9 @@
     { # Contains a list of managed instance groups.
   &quot;id&quot;: &quot;A String&quot;, # [Output Only] Unique identifier for the resource; defined by the server.
   &quot;items&quot;: [ # A list of InstanceGroupManager resources.
-    { # Represents a Managed Instance Group resource.
+    { # Whether the instance is a standby. Properties of a standby instance comparing to the regular instance: ========================================================================= | regular | standby ========================================================================= managed by IGM? | yes | yes added to the IG? | yes | yes counts towards IGM&#x27;s target size? | yes | no taken into account by Autoscaler? | yes | no receives traffic from LB? | yes | no =========================================================================
+        #
+        # Represents a Managed Instance Group resource.
         #
         # An instance group is a collection of VM instances that you can manage as a single entity. For more information, read Instance groups.
         #
@@ -1532,7 +1538,9 @@
   body: object, The request body.
     The object takes the form of:
 
-{ # Represents a Managed Instance Group resource.
+{ # Whether the instance is a standby. Properties of a standby instance comparing to the regular instance: ========================================================================= | regular | standby ========================================================================= managed by IGM? | yes | yes added to the IG? | yes | yes counts towards IGM&#x27;s target size? | yes | no taken into account by Autoscaler? | yes | no receives traffic from LB? | yes | no =========================================================================
+    # 
+    # Represents a Managed Instance Group resource.
     # 
     # An instance group is a collection of VM instances that you can manage as a single entity. For more information, read Instance groups.
     # 
@@ -2321,7 +2329,9 @@
   body: object, The request body.
     The object takes the form of:
 
-{ # Represents a Managed Instance Group resource.
+{ # Whether the instance is a standby. Properties of a standby instance comparing to the regular instance: ========================================================================= | regular | standby ========================================================================= managed by IGM? | yes | yes added to the IG? | yes | yes counts towards IGM&#x27;s target size? | yes | no taken into account by Autoscaler? | yes | no receives traffic from LB? | yes | no =========================================================================
+    # 
+    # Represents a Managed Instance Group resource.
     # 
     # An instance group is a collection of VM instances that you can manage as a single entity. For more information, read Instance groups.
     # 
diff --git a/docs/dyn/compute_beta.regionInstances.html b/docs/dyn/compute_beta.regionInstances.html
index d384ba1..e6721f3 100644
--- a/docs/dyn/compute_beta.regionInstances.html
+++ b/docs/dyn/compute_beta.regionInstances.html
@@ -91,7 +91,7 @@
   body: object, The request body.
     The object takes the form of:
 
-{
+{ # A transient resource used in compute.instances.bulkInsert and compute.regionInstances.bulkInsert and compute.regionInstances.recommendLocations. This resource is not persisted anywhere, it is used only for processing the requests.
   &quot;count&quot;: &quot;A String&quot;, # The maximum number of instances to create.
   &quot;instanceProperties&quot;: { # The instance properties defining the VM instances to be created. Required if sourceInstanceTemplate is not provided.
     &quot;advancedMachineFeatures&quot;: { # Specifies options for controlling advanced machine features. Options that would traditionally be configured in a BIOS belong here. Features that require operating system support may have corresponding entries in the GuestOsFeatures of an Image (e.g., whether or not the OS in the Image supports nested virtualization being enabled or disabled). # Controls for advanced machine-related behavior features.
@@ -290,6 +290,8 @@
       { # A network interface resource attached to an instance.
         &quot;accessConfigs&quot;: [ # An array of configurations for this interface. Currently, only one access config, ONE_TO_ONE_NAT, is supported. If there are no accessConfigs specified, then this instance will have no external internet access.
           { # An access configuration attached to an instance&#x27;s network interface. Only one access config per instance is supported.
+            &quot;externalIpv6&quot;: &quot;A String&quot;, # [Output Only] The first IPv6 address of the external IPv6 range associated with this instance, prefix length is stored in externalIpv6PrefixLength in ipv6AccessConfig. The field is output only, an IPv6 address from a subnetwork associated with the instance will be allocated dynamically.
+            &quot;externalIpv6PrefixLength&quot;: 42, # [Output Only] The prefix length of the external IPv6 range.
             &quot;kind&quot;: &quot;compute#accessConfig&quot;, # [Output Only] Type of the resource. Always compute#accessConfig for access configs.
             &quot;name&quot;: &quot;A String&quot;, # The name of this access configuration. The default and recommended name is External NAT, but you can use any arbitrary string, such as My external IP or Network Access.
             &quot;natIP&quot;: &quot;A String&quot;, # An external IP address associated with this instance. Specify an unused static external IP address available to the project or leave this field undefined to use an IP from a shared ephemeral IP address pool. If you specify a static external IP address, it must live in the same region as the zone of the instance.
@@ -310,6 +312,26 @@
           },
         ],
         &quot;fingerprint&quot;: &quot;A String&quot;, # Fingerprint hash of contents stored in this network interface. This field will be ignored when inserting an Instance or adding a NetworkInterface. An up-to-date fingerprint must be provided in order to update the NetworkInterface. The request will fail with error 400 Bad Request if the fingerprint is not provided, or 412 Precondition Failed if the fingerprint is out of date.
+        &quot;ipv6AccessConfigs&quot;: [ # An array of IPv6 access configurations for this interface. Currently, only one IPv6 access config, DIRECT_IPV6, is supported. If there is no ipv6AccessConfig specified, then this instance will have no external IPv6 Internet access.
+          { # An access configuration attached to an instance&#x27;s network interface. Only one access config per instance is supported.
+            &quot;externalIpv6&quot;: &quot;A String&quot;, # [Output Only] The first IPv6 address of the external IPv6 range associated with this instance, prefix length is stored in externalIpv6PrefixLength in ipv6AccessConfig. The field is output only, an IPv6 address from a subnetwork associated with the instance will be allocated dynamically.
+            &quot;externalIpv6PrefixLength&quot;: 42, # [Output Only] The prefix length of the external IPv6 range.
+            &quot;kind&quot;: &quot;compute#accessConfig&quot;, # [Output Only] Type of the resource. Always compute#accessConfig for access configs.
+            &quot;name&quot;: &quot;A String&quot;, # The name of this access configuration. The default and recommended name is External NAT, but you can use any arbitrary string, such as My external IP or Network Access.
+            &quot;natIP&quot;: &quot;A String&quot;, # An external IP address associated with this instance. Specify an unused static external IP address available to the project or leave this field undefined to use an IP from a shared ephemeral IP address pool. If you specify a static external IP address, it must live in the same region as the zone of the instance.
+            &quot;networkTier&quot;: &quot;A String&quot;, # This signifies the networking tier used for configuring this access configuration and can only take the following values: PREMIUM, STANDARD.
+                #
+                # If an AccessConfig is specified without a valid external IP address, an ephemeral IP will be created with this networkTier.
+                #
+                # If an AccessConfig with a valid external IP address is specified, it must match that of the networkTier associated with the Address resource owning that IP.
+            &quot;publicPtrDomainName&quot;: &quot;A String&quot;, # The DNS domain name for the public PTR record. You can set this field only if the `setPublicPtr` field is enabled.
+            &quot;setPublicPtr&quot;: True or False, # Specifies whether a public DNS &#x27;PTR&#x27; record should be created to map the external IP address of the instance to a DNS domain name.
+            &quot;type&quot;: &quot;ONE_TO_ONE_NAT&quot;, # The type of configuration. The default and only option is ONE_TO_ONE_NAT.
+          },
+        ],
+        &quot;ipv6AccessType&quot;: &quot;A String&quot;, # [Output Only] One of EXTERNAL, INTERNAL to indicate whether the IP can be accessed from the Internet. This field is always inherited from its subnetwork.
+            #
+            # Valid only if stackType is IPV4_IPV6.
         &quot;ipv6Address&quot;: &quot;A String&quot;, # [Output Only] An IPv6 internal network address for this network interface.
         &quot;kind&quot;: &quot;compute#networkInterface&quot;, # [Output Only] Type of the resource. Always compute#networkInterface for network interfaces.
         &quot;name&quot;: &quot;A String&quot;, # [Output Only] The name of the network interface, which is generated by the server. For network devices, these are eth0, eth1, etc.
@@ -321,6 +343,9 @@
             # - global/networks/default
         &quot;networkIP&quot;: &quot;A String&quot;, # An IPv4 internal IP address to assign to the instance for this network interface. If not specified by the user, an unused internal IP is assigned by the system.
         &quot;nicType&quot;: &quot;A String&quot;, # The type of vNIC to be used on this interface. This may be gVNIC or VirtioNet.
+        &quot;stackType&quot;: &quot;A String&quot;, # The stack type for this network interface to identify whether the IPv6 feature is enabled or not. If not specified, IPV4_ONLY will be used.
+            #
+            # This field can be both set at instance creation and update network interface operations.
         &quot;subnetwork&quot;: &quot;A String&quot;, # The URL of the Subnetwork resource for this instance. If the network resource is in legacy mode, do not specify this field. If the network is in auto subnet mode, specifying the subnetwork is optional. If the network is in custom subnet mode, specifying the subnetwork is required. If you specify this field, you can specify the subnetwork as a full or partial URL. For example, the following are all valid URLs:
             # - https://www.googleapis.com/compute/v1/projects/project/regions/region/subnetworks/subnetwork
             # - regions/region/subnetworks/subnetwork
@@ -341,7 +366,7 @@
     &quot;resourcePolicies&quot;: [ # Resource policies (names, not ULRs) applied to instances created from these properties.
       &quot;A String&quot;,
     ],
-    &quot;scheduling&quot;: { # Sets the scheduling options for an Instance. NextID: 20 # Specifies the scheduling options for the instances that are created from these properties.
+    &quot;scheduling&quot;: { # Sets the scheduling options for an Instance. NextID: 21 # Specifies the scheduling options for the instances that are created from these properties.
       &quot;automaticRestart&quot;: True or False, # Specifies whether the instance should be automatically restarted if it is terminated by Compute Engine (not terminated by a user). You can only set the automatic restart option for standard instances. Preemptible instances cannot be automatically restarted.
           #
           # By default, this is set to true so an instance is automatically restarted if it is terminated by Compute Engine.
@@ -391,7 +416,7 @@
   &quot;locationPolicy&quot;: { # Configuration for location policy among multiple possible locations (e.g. preferences for zone selection among zones in a single region). # Policy for chosing target zone.
     &quot;locations&quot;: { # Location configurations mapped by location name. Currently only zone names are supported and must be represented as valid internal URLs, such as zones/us-central1-a.
       &quot;a_key&quot;: {
-        &quot;preference&quot;: &quot;A String&quot;, # Preference for a given locaction: ALLOW or DENY.
+        &quot;preference&quot;: &quot;A String&quot;, # Preference for a given location: ALLOW or DENY.
       },
     },
   },
diff --git a/docs/dyn/compute_beta.regionTargetHttpsProxies.html b/docs/dyn/compute_beta.regionTargetHttpsProxies.html
index fba8837..92679f2 100644
--- a/docs/dyn/compute_beta.regionTargetHttpsProxies.html
+++ b/docs/dyn/compute_beta.regionTargetHttpsProxies.html
@@ -240,7 +240,7 @@
       # serverTlsPolicy only applies to a global TargetHttpsProxy attached to globalForwardingRules with the loadBalancingScheme set to INTERNAL_SELF_MANAGED.
       # If left blank, communications are not encrypted.
       # Note: This field currently has no impact.
-  &quot;sslCertificates&quot;: [ # URLs to SslCertificate resources that are used to authenticate connections between users and the load balancer. At least one SSL certificate must be specified. Currently, you may specify up to 15 SSL certificates.
+  &quot;sslCertificates&quot;: [ # URLs to SslCertificate resources that are used to authenticate connections between users and the load balancer. At least one SSL certificate must be specified. Currently, you may specify up to 15 SSL certificates. sslCertificates do not apply when the load balancing scheme is set to INTERNAL_SELF_MANAGED.
     &quot;A String&quot;,
   ],
   &quot;sslPolicy&quot;: &quot;A String&quot;, # URL of SslPolicy resource that will be associated with the TargetHttpsProxy resource. If not set, the TargetHttpsProxy resource has no SSL policy configured.
@@ -304,7 +304,7 @@
       # serverTlsPolicy only applies to a global TargetHttpsProxy attached to globalForwardingRules with the loadBalancingScheme set to INTERNAL_SELF_MANAGED.
       # If left blank, communications are not encrypted.
       # Note: This field currently has no impact.
-  &quot;sslCertificates&quot;: [ # URLs to SslCertificate resources that are used to authenticate connections between users and the load balancer. At least one SSL certificate must be specified. Currently, you may specify up to 15 SSL certificates.
+  &quot;sslCertificates&quot;: [ # URLs to SslCertificate resources that are used to authenticate connections between users and the load balancer. At least one SSL certificate must be specified. Currently, you may specify up to 15 SSL certificates. sslCertificates do not apply when the load balancing scheme is set to INTERNAL_SELF_MANAGED.
     &quot;A String&quot;,
   ],
   &quot;sslPolicy&quot;: &quot;A String&quot;, # URL of SslPolicy resource that will be associated with the TargetHttpsProxy resource. If not set, the TargetHttpsProxy resource has no SSL policy configured.
@@ -456,7 +456,7 @@
           # serverTlsPolicy only applies to a global TargetHttpsProxy attached to globalForwardingRules with the loadBalancingScheme set to INTERNAL_SELF_MANAGED.
           # If left blank, communications are not encrypted.
           # Note: This field currently has no impact.
-      &quot;sslCertificates&quot;: [ # URLs to SslCertificate resources that are used to authenticate connections between users and the load balancer. At least one SSL certificate must be specified. Currently, you may specify up to 15 SSL certificates.
+      &quot;sslCertificates&quot;: [ # URLs to SslCertificate resources that are used to authenticate connections between users and the load balancer. At least one SSL certificate must be specified. Currently, you may specify up to 15 SSL certificates. sslCertificates do not apply when the load balancing scheme is set to INTERNAL_SELF_MANAGED.
         &quot;A String&quot;,
       ],
       &quot;sslPolicy&quot;: &quot;A String&quot;, # URL of SslPolicy resource that will be associated with the TargetHttpsProxy resource. If not set, the TargetHttpsProxy resource has no SSL policy configured.
diff --git a/docs/dyn/compute_beta.regionUrlMaps.html b/docs/dyn/compute_beta.regionUrlMaps.html
index 8c1fce0..16ed6a5 100644
--- a/docs/dyn/compute_beta.regionUrlMaps.html
+++ b/docs/dyn/compute_beta.regionUrlMaps.html
@@ -247,10 +247,10 @@
     },
     &quot;faultInjectionPolicy&quot;: { # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests. # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests.
         # timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy.
-        # Not supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true.
       &quot;abort&quot;: { # Specification for how requests are aborted as part of fault injection. # The specification for how client requests are aborted as part of fault injection.
         &quot;httpStatus&quot;: 42, # The HTTP status code used to abort the request.
             # The value must be between 200 and 599 inclusive.
+            # For gRPC protocol, the gRPC status code is mapped to HTTP status code according to this  mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
         &quot;percentage&quot;: 3.14, # The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.
             # The value must be between 0.0 and 100.0 inclusive.
       },
@@ -281,7 +281,7 @@
         &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
         &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
       },
-      &quot;retryConditions&quot;: [ # Specfies one or more conditions when this retry rule applies. Valid values are:
+      &quot;retryConditions&quot;: [ # Specifies one or more conditions when this retry rule applies. Valid values are:
           # - 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, or if the backend service does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams.
           # - gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.
           # -
@@ -448,10 +448,10 @@
         },
         &quot;faultInjectionPolicy&quot;: { # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests. # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests.
             # timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy.
-            # Not supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true.
           &quot;abort&quot;: { # Specification for how requests are aborted as part of fault injection. # The specification for how client requests are aborted as part of fault injection.
             &quot;httpStatus&quot;: 42, # The HTTP status code used to abort the request.
                 # The value must be between 200 and 599 inclusive.
+                # For gRPC protocol, the gRPC status code is mapped to HTTP status code according to this  mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
             &quot;percentage&quot;: 3.14, # The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.
                 # The value must be between 0.0 and 100.0 inclusive.
           },
@@ -482,7 +482,7 @@
             &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
             &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
           },
-          &quot;retryConditions&quot;: [ # Specfies one or more conditions when this retry rule applies. Valid values are:
+          &quot;retryConditions&quot;: [ # Specifies one or more conditions when this retry rule applies. Valid values are:
               # - 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, or if the backend service does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams.
               # - gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.
               # -
@@ -644,10 +644,10 @@
             },
             &quot;faultInjectionPolicy&quot;: { # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests. # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests.
                 # timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy.
-                # Not supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true.
               &quot;abort&quot;: { # Specification for how requests are aborted as part of fault injection. # The specification for how client requests are aborted as part of fault injection.
                 &quot;httpStatus&quot;: 42, # The HTTP status code used to abort the request.
                     # The value must be between 200 and 599 inclusive.
+                    # For gRPC protocol, the gRPC status code is mapped to HTTP status code according to this  mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
                 &quot;percentage&quot;: 3.14, # The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.
                     # The value must be between 0.0 and 100.0 inclusive.
               },
@@ -678,7 +678,7 @@
                 &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
                 &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
               },
-              &quot;retryConditions&quot;: [ # Specfies one or more conditions when this retry rule applies. Valid values are:
+              &quot;retryConditions&quot;: [ # Specifies one or more conditions when this retry rule applies. Valid values are:
                   # - 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, or if the backend service does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams.
                   # - gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.
                   # -
@@ -938,10 +938,10 @@
             },
             &quot;faultInjectionPolicy&quot;: { # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests. # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests.
                 # timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy.
-                # Not supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true.
               &quot;abort&quot;: { # Specification for how requests are aborted as part of fault injection. # The specification for how client requests are aborted as part of fault injection.
                 &quot;httpStatus&quot;: 42, # The HTTP status code used to abort the request.
                     # The value must be between 200 and 599 inclusive.
+                    # For gRPC protocol, the gRPC status code is mapped to HTTP status code according to this  mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
                 &quot;percentage&quot;: 3.14, # The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.
                     # The value must be between 0.0 and 100.0 inclusive.
               },
@@ -972,7 +972,7 @@
                 &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
                 &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
               },
-              &quot;retryConditions&quot;: [ # Specfies one or more conditions when this retry rule applies. Valid values are:
+              &quot;retryConditions&quot;: [ # Specifies one or more conditions when this retry rule applies. Valid values are:
                   # - 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, or if the backend service does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams.
                   # - gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.
                   # -
@@ -1152,10 +1152,10 @@
     },
     &quot;faultInjectionPolicy&quot;: { # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests. # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests.
         # timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy.
-        # Not supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true.
       &quot;abort&quot;: { # Specification for how requests are aborted as part of fault injection. # The specification for how client requests are aborted as part of fault injection.
         &quot;httpStatus&quot;: 42, # The HTTP status code used to abort the request.
             # The value must be between 200 and 599 inclusive.
+            # For gRPC protocol, the gRPC status code is mapped to HTTP status code according to this  mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
         &quot;percentage&quot;: 3.14, # The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.
             # The value must be between 0.0 and 100.0 inclusive.
       },
@@ -1186,7 +1186,7 @@
         &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
         &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
       },
-      &quot;retryConditions&quot;: [ # Specfies one or more conditions when this retry rule applies. Valid values are:
+      &quot;retryConditions&quot;: [ # Specifies one or more conditions when this retry rule applies. Valid values are:
           # - 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, or if the backend service does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams.
           # - gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.
           # -
@@ -1353,10 +1353,10 @@
         },
         &quot;faultInjectionPolicy&quot;: { # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests. # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests.
             # timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy.
-            # Not supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true.
           &quot;abort&quot;: { # Specification for how requests are aborted as part of fault injection. # The specification for how client requests are aborted as part of fault injection.
             &quot;httpStatus&quot;: 42, # The HTTP status code used to abort the request.
                 # The value must be between 200 and 599 inclusive.
+                # For gRPC protocol, the gRPC status code is mapped to HTTP status code according to this  mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
             &quot;percentage&quot;: 3.14, # The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.
                 # The value must be between 0.0 and 100.0 inclusive.
           },
@@ -1387,7 +1387,7 @@
             &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
             &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
           },
-          &quot;retryConditions&quot;: [ # Specfies one or more conditions when this retry rule applies. Valid values are:
+          &quot;retryConditions&quot;: [ # Specifies one or more conditions when this retry rule applies. Valid values are:
               # - 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, or if the backend service does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams.
               # - gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.
               # -
@@ -1549,10 +1549,10 @@
             },
             &quot;faultInjectionPolicy&quot;: { # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests. # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests.
                 # timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy.
-                # Not supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true.
               &quot;abort&quot;: { # Specification for how requests are aborted as part of fault injection. # The specification for how client requests are aborted as part of fault injection.
                 &quot;httpStatus&quot;: 42, # The HTTP status code used to abort the request.
                     # The value must be between 200 and 599 inclusive.
+                    # For gRPC protocol, the gRPC status code is mapped to HTTP status code according to this  mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
                 &quot;percentage&quot;: 3.14, # The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.
                     # The value must be between 0.0 and 100.0 inclusive.
               },
@@ -1583,7 +1583,7 @@
                 &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
                 &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
               },
-              &quot;retryConditions&quot;: [ # Specfies one or more conditions when this retry rule applies. Valid values are:
+              &quot;retryConditions&quot;: [ # Specifies one or more conditions when this retry rule applies. Valid values are:
                   # - 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, or if the backend service does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams.
                   # - gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.
                   # -
@@ -1843,10 +1843,10 @@
             },
             &quot;faultInjectionPolicy&quot;: { # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests. # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests.
                 # timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy.
-                # Not supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true.
               &quot;abort&quot;: { # Specification for how requests are aborted as part of fault injection. # The specification for how client requests are aborted as part of fault injection.
                 &quot;httpStatus&quot;: 42, # The HTTP status code used to abort the request.
                     # The value must be between 200 and 599 inclusive.
+                    # For gRPC protocol, the gRPC status code is mapped to HTTP status code according to this  mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
                 &quot;percentage&quot;: 3.14, # The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.
                     # The value must be between 0.0 and 100.0 inclusive.
               },
@@ -1877,7 +1877,7 @@
                 &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
                 &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
               },
-              &quot;retryConditions&quot;: [ # Specfies one or more conditions when this retry rule applies. Valid values are:
+              &quot;retryConditions&quot;: [ # Specifies one or more conditions when this retry rule applies. Valid values are:
                   # - 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, or if the backend service does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams.
                   # - gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.
                   # -
@@ -2225,10 +2225,10 @@
         },
         &quot;faultInjectionPolicy&quot;: { # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests. # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests.
             # timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy.
-            # Not supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true.
           &quot;abort&quot;: { # Specification for how requests are aborted as part of fault injection. # The specification for how client requests are aborted as part of fault injection.
             &quot;httpStatus&quot;: 42, # The HTTP status code used to abort the request.
                 # The value must be between 200 and 599 inclusive.
+                # For gRPC protocol, the gRPC status code is mapped to HTTP status code according to this  mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
             &quot;percentage&quot;: 3.14, # The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.
                 # The value must be between 0.0 and 100.0 inclusive.
           },
@@ -2259,7 +2259,7 @@
             &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
             &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
           },
-          &quot;retryConditions&quot;: [ # Specfies one or more conditions when this retry rule applies. Valid values are:
+          &quot;retryConditions&quot;: [ # Specifies one or more conditions when this retry rule applies. Valid values are:
               # - 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, or if the backend service does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams.
               # - gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.
               # -
@@ -2426,10 +2426,10 @@
             },
             &quot;faultInjectionPolicy&quot;: { # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests. # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests.
                 # timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy.
-                # Not supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true.
               &quot;abort&quot;: { # Specification for how requests are aborted as part of fault injection. # The specification for how client requests are aborted as part of fault injection.
                 &quot;httpStatus&quot;: 42, # The HTTP status code used to abort the request.
                     # The value must be between 200 and 599 inclusive.
+                    # For gRPC protocol, the gRPC status code is mapped to HTTP status code according to this  mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
                 &quot;percentage&quot;: 3.14, # The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.
                     # The value must be between 0.0 and 100.0 inclusive.
               },
@@ -2460,7 +2460,7 @@
                 &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
                 &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
               },
-              &quot;retryConditions&quot;: [ # Specfies one or more conditions when this retry rule applies. Valid values are:
+              &quot;retryConditions&quot;: [ # Specifies one or more conditions when this retry rule applies. Valid values are:
                   # - 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, or if the backend service does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams.
                   # - gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.
                   # -
@@ -2622,10 +2622,10 @@
                 },
                 &quot;faultInjectionPolicy&quot;: { # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests. # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests.
                     # timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy.
-                    # Not supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true.
                   &quot;abort&quot;: { # Specification for how requests are aborted as part of fault injection. # The specification for how client requests are aborted as part of fault injection.
                     &quot;httpStatus&quot;: 42, # The HTTP status code used to abort the request.
                         # The value must be between 200 and 599 inclusive.
+                        # For gRPC protocol, the gRPC status code is mapped to HTTP status code according to this  mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
                     &quot;percentage&quot;: 3.14, # The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.
                         # The value must be between 0.0 and 100.0 inclusive.
                   },
@@ -2656,7 +2656,7 @@
                     &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
                     &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
                   },
-                  &quot;retryConditions&quot;: [ # Specfies one or more conditions when this retry rule applies. Valid values are:
+                  &quot;retryConditions&quot;: [ # Specifies one or more conditions when this retry rule applies. Valid values are:
                       # - 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, or if the backend service does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams.
                       # - gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.
                       # -
@@ -2916,10 +2916,10 @@
                 },
                 &quot;faultInjectionPolicy&quot;: { # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests. # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests.
                     # timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy.
-                    # Not supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true.
                   &quot;abort&quot;: { # Specification for how requests are aborted as part of fault injection. # The specification for how client requests are aborted as part of fault injection.
                     &quot;httpStatus&quot;: 42, # The HTTP status code used to abort the request.
                         # The value must be between 200 and 599 inclusive.
+                        # For gRPC protocol, the gRPC status code is mapped to HTTP status code according to this  mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
                     &quot;percentage&quot;: 3.14, # The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.
                         # The value must be between 0.0 and 100.0 inclusive.
                   },
@@ -2950,7 +2950,7 @@
                     &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
                     &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
                   },
-                  &quot;retryConditions&quot;: [ # Specfies one or more conditions when this retry rule applies. Valid values are:
+                  &quot;retryConditions&quot;: [ # Specifies one or more conditions when this retry rule applies. Valid values are:
                       # - 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, or if the backend service does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams.
                       # - gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.
                       # -
@@ -3161,10 +3161,10 @@
     },
     &quot;faultInjectionPolicy&quot;: { # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests. # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests.
         # timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy.
-        # Not supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true.
       &quot;abort&quot;: { # Specification for how requests are aborted as part of fault injection. # The specification for how client requests are aborted as part of fault injection.
         &quot;httpStatus&quot;: 42, # The HTTP status code used to abort the request.
             # The value must be between 200 and 599 inclusive.
+            # For gRPC protocol, the gRPC status code is mapped to HTTP status code according to this  mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
         &quot;percentage&quot;: 3.14, # The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.
             # The value must be between 0.0 and 100.0 inclusive.
       },
@@ -3195,7 +3195,7 @@
         &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
         &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
       },
-      &quot;retryConditions&quot;: [ # Specfies one or more conditions when this retry rule applies. Valid values are:
+      &quot;retryConditions&quot;: [ # Specifies one or more conditions when this retry rule applies. Valid values are:
           # - 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, or if the backend service does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams.
           # - gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.
           # -
@@ -3362,10 +3362,10 @@
         },
         &quot;faultInjectionPolicy&quot;: { # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests. # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests.
             # timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy.
-            # Not supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true.
           &quot;abort&quot;: { # Specification for how requests are aborted as part of fault injection. # The specification for how client requests are aborted as part of fault injection.
             &quot;httpStatus&quot;: 42, # The HTTP status code used to abort the request.
                 # The value must be between 200 and 599 inclusive.
+                # For gRPC protocol, the gRPC status code is mapped to HTTP status code according to this  mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
             &quot;percentage&quot;: 3.14, # The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.
                 # The value must be between 0.0 and 100.0 inclusive.
           },
@@ -3396,7 +3396,7 @@
             &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
             &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
           },
-          &quot;retryConditions&quot;: [ # Specfies one or more conditions when this retry rule applies. Valid values are:
+          &quot;retryConditions&quot;: [ # Specifies one or more conditions when this retry rule applies. Valid values are:
               # - 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, or if the backend service does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams.
               # - gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.
               # -
@@ -3558,10 +3558,10 @@
             },
             &quot;faultInjectionPolicy&quot;: { # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests. # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests.
                 # timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy.
-                # Not supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true.
               &quot;abort&quot;: { # Specification for how requests are aborted as part of fault injection. # The specification for how client requests are aborted as part of fault injection.
                 &quot;httpStatus&quot;: 42, # The HTTP status code used to abort the request.
                     # The value must be between 200 and 599 inclusive.
+                    # For gRPC protocol, the gRPC status code is mapped to HTTP status code according to this  mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
                 &quot;percentage&quot;: 3.14, # The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.
                     # The value must be between 0.0 and 100.0 inclusive.
               },
@@ -3592,7 +3592,7 @@
                 &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
                 &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
               },
-              &quot;retryConditions&quot;: [ # Specfies one or more conditions when this retry rule applies. Valid values are:
+              &quot;retryConditions&quot;: [ # Specifies one or more conditions when this retry rule applies. Valid values are:
                   # - 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, or if the backend service does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams.
                   # - gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.
                   # -
@@ -3852,10 +3852,10 @@
             },
             &quot;faultInjectionPolicy&quot;: { # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests. # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests.
                 # timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy.
-                # Not supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true.
               &quot;abort&quot;: { # Specification for how requests are aborted as part of fault injection. # The specification for how client requests are aborted as part of fault injection.
                 &quot;httpStatus&quot;: 42, # The HTTP status code used to abort the request.
                     # The value must be between 200 and 599 inclusive.
+                    # For gRPC protocol, the gRPC status code is mapped to HTTP status code according to this  mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
                 &quot;percentage&quot;: 3.14, # The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.
                     # The value must be between 0.0 and 100.0 inclusive.
               },
@@ -3886,7 +3886,7 @@
                 &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
                 &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
               },
-              &quot;retryConditions&quot;: [ # Specfies one or more conditions when this retry rule applies. Valid values are:
+              &quot;retryConditions&quot;: [ # Specifies one or more conditions when this retry rule applies. Valid values are:
                   # - 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, or if the backend service does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams.
                   # - gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.
                   # -
@@ -4160,10 +4160,10 @@
     },
     &quot;faultInjectionPolicy&quot;: { # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests. # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests.
         # timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy.
-        # Not supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true.
       &quot;abort&quot;: { # Specification for how requests are aborted as part of fault injection. # The specification for how client requests are aborted as part of fault injection.
         &quot;httpStatus&quot;: 42, # The HTTP status code used to abort the request.
             # The value must be between 200 and 599 inclusive.
+            # For gRPC protocol, the gRPC status code is mapped to HTTP status code according to this  mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
         &quot;percentage&quot;: 3.14, # The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.
             # The value must be between 0.0 and 100.0 inclusive.
       },
@@ -4194,7 +4194,7 @@
         &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
         &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
       },
-      &quot;retryConditions&quot;: [ # Specfies one or more conditions when this retry rule applies. Valid values are:
+      &quot;retryConditions&quot;: [ # Specifies one or more conditions when this retry rule applies. Valid values are:
           # - 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, or if the backend service does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams.
           # - gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.
           # -
@@ -4361,10 +4361,10 @@
         },
         &quot;faultInjectionPolicy&quot;: { # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests. # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests.
             # timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy.
-            # Not supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true.
           &quot;abort&quot;: { # Specification for how requests are aborted as part of fault injection. # The specification for how client requests are aborted as part of fault injection.
             &quot;httpStatus&quot;: 42, # The HTTP status code used to abort the request.
                 # The value must be between 200 and 599 inclusive.
+                # For gRPC protocol, the gRPC status code is mapped to HTTP status code according to this  mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
             &quot;percentage&quot;: 3.14, # The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.
                 # The value must be between 0.0 and 100.0 inclusive.
           },
@@ -4395,7 +4395,7 @@
             &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
             &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
           },
-          &quot;retryConditions&quot;: [ # Specfies one or more conditions when this retry rule applies. Valid values are:
+          &quot;retryConditions&quot;: [ # Specifies one or more conditions when this retry rule applies. Valid values are:
               # - 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, or if the backend service does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams.
               # - gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.
               # -
@@ -4557,10 +4557,10 @@
             },
             &quot;faultInjectionPolicy&quot;: { # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests. # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests.
                 # timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy.
-                # Not supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true.
               &quot;abort&quot;: { # Specification for how requests are aborted as part of fault injection. # The specification for how client requests are aborted as part of fault injection.
                 &quot;httpStatus&quot;: 42, # The HTTP status code used to abort the request.
                     # The value must be between 200 and 599 inclusive.
+                    # For gRPC protocol, the gRPC status code is mapped to HTTP status code according to this  mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
                 &quot;percentage&quot;: 3.14, # The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.
                     # The value must be between 0.0 and 100.0 inclusive.
               },
@@ -4591,7 +4591,7 @@
                 &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
                 &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
               },
-              &quot;retryConditions&quot;: [ # Specfies one or more conditions when this retry rule applies. Valid values are:
+              &quot;retryConditions&quot;: [ # Specifies one or more conditions when this retry rule applies. Valid values are:
                   # - 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, or if the backend service does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams.
                   # - gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.
                   # -
@@ -4851,10 +4851,10 @@
             },
             &quot;faultInjectionPolicy&quot;: { # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests. # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests.
                 # timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy.
-                # Not supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true.
               &quot;abort&quot;: { # Specification for how requests are aborted as part of fault injection. # The specification for how client requests are aborted as part of fault injection.
                 &quot;httpStatus&quot;: 42, # The HTTP status code used to abort the request.
                     # The value must be between 200 and 599 inclusive.
+                    # For gRPC protocol, the gRPC status code is mapped to HTTP status code according to this  mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
                 &quot;percentage&quot;: 3.14, # The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.
                     # The value must be between 0.0 and 100.0 inclusive.
               },
@@ -4885,7 +4885,7 @@
                 &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
                 &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
               },
-              &quot;retryConditions&quot;: [ # Specfies one or more conditions when this retry rule applies. Valid values are:
+              &quot;retryConditions&quot;: [ # Specifies one or more conditions when this retry rule applies. Valid values are:
                   # - 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, or if the backend service does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams.
                   # - gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.
                   # -
@@ -5132,10 +5132,10 @@
       },
       &quot;faultInjectionPolicy&quot;: { # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests. # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests.
           # timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy.
-          # Not supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true.
         &quot;abort&quot;: { # Specification for how requests are aborted as part of fault injection. # The specification for how client requests are aborted as part of fault injection.
           &quot;httpStatus&quot;: 42, # The HTTP status code used to abort the request.
               # The value must be between 200 and 599 inclusive.
+              # For gRPC protocol, the gRPC status code is mapped to HTTP status code according to this  mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
           &quot;percentage&quot;: 3.14, # The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.
               # The value must be between 0.0 and 100.0 inclusive.
         },
@@ -5166,7 +5166,7 @@
           &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
           &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
         },
-        &quot;retryConditions&quot;: [ # Specfies one or more conditions when this retry rule applies. Valid values are:
+        &quot;retryConditions&quot;: [ # Specifies one or more conditions when this retry rule applies. Valid values are:
             # - 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, or if the backend service does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams.
             # - gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.
             # -
@@ -5333,10 +5333,10 @@
           },
           &quot;faultInjectionPolicy&quot;: { # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests. # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests.
               # timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy.
-              # Not supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true.
             &quot;abort&quot;: { # Specification for how requests are aborted as part of fault injection. # The specification for how client requests are aborted as part of fault injection.
               &quot;httpStatus&quot;: 42, # The HTTP status code used to abort the request.
                   # The value must be between 200 and 599 inclusive.
+                  # For gRPC protocol, the gRPC status code is mapped to HTTP status code according to this  mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
               &quot;percentage&quot;: 3.14, # The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.
                   # The value must be between 0.0 and 100.0 inclusive.
             },
@@ -5367,7 +5367,7 @@
               &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
               &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
             },
-            &quot;retryConditions&quot;: [ # Specfies one or more conditions when this retry rule applies. Valid values are:
+            &quot;retryConditions&quot;: [ # Specifies one or more conditions when this retry rule applies. Valid values are:
                 # - 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, or if the backend service does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams.
                 # - gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.
                 # -
@@ -5529,10 +5529,10 @@
               },
               &quot;faultInjectionPolicy&quot;: { # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests. # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests.
                   # timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy.
-                  # Not supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true.
                 &quot;abort&quot;: { # Specification for how requests are aborted as part of fault injection. # The specification for how client requests are aborted as part of fault injection.
                   &quot;httpStatus&quot;: 42, # The HTTP status code used to abort the request.
                       # The value must be between 200 and 599 inclusive.
+                      # For gRPC protocol, the gRPC status code is mapped to HTTP status code according to this  mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
                   &quot;percentage&quot;: 3.14, # The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.
                       # The value must be between 0.0 and 100.0 inclusive.
                 },
@@ -5563,7 +5563,7 @@
                   &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
                   &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
                 },
-                &quot;retryConditions&quot;: [ # Specfies one or more conditions when this retry rule applies. Valid values are:
+                &quot;retryConditions&quot;: [ # Specifies one or more conditions when this retry rule applies. Valid values are:
                     # - 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, or if the backend service does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams.
                     # - gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.
                     # -
@@ -5823,10 +5823,10 @@
               },
               &quot;faultInjectionPolicy&quot;: { # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests. # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests.
                   # timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy.
-                  # Not supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true.
                 &quot;abort&quot;: { # Specification for how requests are aborted as part of fault injection. # The specification for how client requests are aborted as part of fault injection.
                   &quot;httpStatus&quot;: 42, # The HTTP status code used to abort the request.
                       # The value must be between 200 and 599 inclusive.
+                      # For gRPC protocol, the gRPC status code is mapped to HTTP status code according to this  mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
                   &quot;percentage&quot;: 3.14, # The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.
                       # The value must be between 0.0 and 100.0 inclusive.
                 },
@@ -5857,7 +5857,7 @@
                   &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
                   &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
                 },
-                &quot;retryConditions&quot;: [ # Specfies one or more conditions when this retry rule applies. Valid values are:
+                &quot;retryConditions&quot;: [ # Specifies one or more conditions when this retry rule applies. Valid values are:
                     # - 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, or if the backend service does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams.
                     # - gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.
                     # -
diff --git a/docs/dyn/compute_beta.serviceAttachments.html b/docs/dyn/compute_beta.serviceAttachments.html
index 71ec1bb..f15644a 100644
--- a/docs/dyn/compute_beta.serviceAttachments.html
+++ b/docs/dyn/compute_beta.serviceAttachments.html
@@ -141,7 +141,7 @@
   &quot;id&quot;: &quot;A String&quot;, # [Output Only] Unique identifier for the resource; defined by the server.
   &quot;items&quot;: { # A list of ServiceAttachmentsScopedList resources.
     &quot;a_key&quot;: { # Name of the scope containing this set of ServiceAttachments.
-      &quot;resources&quot;: [ # A list of ServiceAttachments contained in this scope.
+      &quot;serviceAttachments&quot;: [ # A list of ServiceAttachments contained in this scope.
         { # Represents a ServiceAttachment resource.
             #
             # A service attachment represents a service that a producer has exposed. It encapsulates the load balancer which fronts the service runs and a list of NAT IP ranges that the producers uses to represent the consumers connecting to the service. next tag = 19
diff --git a/docs/dyn/compute_beta.subnetworks.html b/docs/dyn/compute_beta.subnetworks.html
index 4cb4971..349ebf2 100644
--- a/docs/dyn/compute_beta.subnetworks.html
+++ b/docs/dyn/compute_beta.subnetworks.html
@@ -167,12 +167,14 @@
           &quot;creationTimestamp&quot;: &quot;A String&quot;, # [Output Only] Creation timestamp in RFC3339 text format.
           &quot;description&quot;: &quot;A String&quot;, # An optional description of this resource. Provide this property when you create the resource. This field can be set only at resource creation time.
           &quot;enableFlowLogs&quot;: True or False, # Whether to enable flow logging for this subnetwork. If this field is not explicitly set, it will not appear in get listings. If not set the default behavior is to disable flow logging. This field isn&#x27;t supported with the purpose field set to INTERNAL_HTTPS_LOAD_BALANCER.
+          &quot;externalIpv6Prefix&quot;: &quot;A String&quot;, # [Output Only] The range of external IPv6 addresses that are owned by this subnetwork.
           &quot;fingerprint&quot;: &quot;A String&quot;, # Fingerprint of this resource. A hash of the contents stored in this object. This field is used in optimistic locking. This field will be ignored when inserting a Subnetwork. An up-to-date fingerprint must be provided in order to update the Subnetwork, otherwise the request will fail with error 412 conditionNotMet.
               #
               # To see the latest fingerprint, make a get() request to retrieve a Subnetwork.
           &quot;gatewayAddress&quot;: &quot;A String&quot;, # [Output Only] The gateway address for default routes to reach destination addresses outside this subnetwork.
           &quot;id&quot;: &quot;A String&quot;, # [Output Only] The unique identifier for the resource. This identifier is defined by the server.
           &quot;ipCidrRange&quot;: &quot;A String&quot;, # The range of internal addresses that are owned by this subnetwork. Provide this property when you create the subnetwork. For example, 10.0.0.0/8 or 100.64.0.0/10. Ranges must be unique and non-overlapping within a network. Only IPv4 is supported. This field is set at resource creation time. The range can be any range listed in the Valid ranges list. The range can be expanded after creation using expandIpCidrRange.
+          &quot;ipv6AccessType&quot;: &quot;A String&quot;, # The access type of IPv6 address this subnet holds. It&#x27;s immutable and can only be specified during creation or the first time the subnet is updated into IPV4_IPV6 dual stack. If the ipv6_type is EXTERNAL then this subnet cannot enable direct path.
           &quot;ipv6CidrRange&quot;: &quot;A String&quot;, # [Output Only] The range of internal IPv6 addresses that are owned by this subnetwork.
           &quot;kind&quot;: &quot;compute#subnetwork&quot;, # [Output Only] Type of the resource. Always compute#subnetwork for Subnetwork resources.
           &quot;logConfig&quot;: { # The available logging options for this subnetwork. # This field denotes the VPC flow logging options for this subnetwork. If logging is enabled, logs are exported to Cloud Logging.
@@ -201,6 +203,9 @@
             },
           ],
           &quot;selfLink&quot;: &quot;A String&quot;, # [Output Only] Server-defined URL for the resource.
+          &quot;stackType&quot;: &quot;A String&quot;, # The stack type for this subnet to identify whether the IPv6 feature is enabled or not. If not specified IPV4_ONLY will be used.
+              #
+              # This field can be both set at resource creation time and updated using patch.
           &quot;state&quot;: &quot;A String&quot;, # [Output Only] The state of the subnetwork, which can be one of the following values: READY: Subnetwork is created and ready to use DRAINING: only applicable to subnetworks that have the purpose set to INTERNAL_HTTPS_LOAD_BALANCER and indicates that connections to the load balancer are being drained. A subnetwork that is draining cannot be used or modified until it reaches a status of READY
         },
       ],
@@ -444,12 +449,14 @@
   &quot;creationTimestamp&quot;: &quot;A String&quot;, # [Output Only] Creation timestamp in RFC3339 text format.
   &quot;description&quot;: &quot;A String&quot;, # An optional description of this resource. Provide this property when you create the resource. This field can be set only at resource creation time.
   &quot;enableFlowLogs&quot;: True or False, # Whether to enable flow logging for this subnetwork. If this field is not explicitly set, it will not appear in get listings. If not set the default behavior is to disable flow logging. This field isn&#x27;t supported with the purpose field set to INTERNAL_HTTPS_LOAD_BALANCER.
+  &quot;externalIpv6Prefix&quot;: &quot;A String&quot;, # [Output Only] The range of external IPv6 addresses that are owned by this subnetwork.
   &quot;fingerprint&quot;: &quot;A String&quot;, # Fingerprint of this resource. A hash of the contents stored in this object. This field is used in optimistic locking. This field will be ignored when inserting a Subnetwork. An up-to-date fingerprint must be provided in order to update the Subnetwork, otherwise the request will fail with error 412 conditionNotMet.
       #
       # To see the latest fingerprint, make a get() request to retrieve a Subnetwork.
   &quot;gatewayAddress&quot;: &quot;A String&quot;, # [Output Only] The gateway address for default routes to reach destination addresses outside this subnetwork.
   &quot;id&quot;: &quot;A String&quot;, # [Output Only] The unique identifier for the resource. This identifier is defined by the server.
   &quot;ipCidrRange&quot;: &quot;A String&quot;, # The range of internal addresses that are owned by this subnetwork. Provide this property when you create the subnetwork. For example, 10.0.0.0/8 or 100.64.0.0/10. Ranges must be unique and non-overlapping within a network. Only IPv4 is supported. This field is set at resource creation time. The range can be any range listed in the Valid ranges list. The range can be expanded after creation using expandIpCidrRange.
+  &quot;ipv6AccessType&quot;: &quot;A String&quot;, # The access type of IPv6 address this subnet holds. It&#x27;s immutable and can only be specified during creation or the first time the subnet is updated into IPV4_IPV6 dual stack. If the ipv6_type is EXTERNAL then this subnet cannot enable direct path.
   &quot;ipv6CidrRange&quot;: &quot;A String&quot;, # [Output Only] The range of internal IPv6 addresses that are owned by this subnetwork.
   &quot;kind&quot;: &quot;compute#subnetwork&quot;, # [Output Only] Type of the resource. Always compute#subnetwork for Subnetwork resources.
   &quot;logConfig&quot;: { # The available logging options for this subnetwork. # This field denotes the VPC flow logging options for this subnetwork. If logging is enabled, logs are exported to Cloud Logging.
@@ -478,6 +485,9 @@
     },
   ],
   &quot;selfLink&quot;: &quot;A String&quot;, # [Output Only] Server-defined URL for the resource.
+  &quot;stackType&quot;: &quot;A String&quot;, # The stack type for this subnet to identify whether the IPv6 feature is enabled or not. If not specified IPV4_ONLY will be used.
+      #
+      # This field can be both set at resource creation time and updated using patch.
   &quot;state&quot;: &quot;A String&quot;, # [Output Only] The state of the subnetwork, which can be one of the following values: READY: Subnetwork is created and ready to use DRAINING: only applicable to subnetworks that have the purpose set to INTERNAL_HTTPS_LOAD_BALANCER and indicates that connections to the load balancer are being drained. A subnetwork that is draining cannot be used or modified until it reaches a status of READY
 }</pre>
 </div>
@@ -702,12 +712,14 @@
   &quot;creationTimestamp&quot;: &quot;A String&quot;, # [Output Only] Creation timestamp in RFC3339 text format.
   &quot;description&quot;: &quot;A String&quot;, # An optional description of this resource. Provide this property when you create the resource. This field can be set only at resource creation time.
   &quot;enableFlowLogs&quot;: True or False, # Whether to enable flow logging for this subnetwork. If this field is not explicitly set, it will not appear in get listings. If not set the default behavior is to disable flow logging. This field isn&#x27;t supported with the purpose field set to INTERNAL_HTTPS_LOAD_BALANCER.
+  &quot;externalIpv6Prefix&quot;: &quot;A String&quot;, # [Output Only] The range of external IPv6 addresses that are owned by this subnetwork.
   &quot;fingerprint&quot;: &quot;A String&quot;, # Fingerprint of this resource. A hash of the contents stored in this object. This field is used in optimistic locking. This field will be ignored when inserting a Subnetwork. An up-to-date fingerprint must be provided in order to update the Subnetwork, otherwise the request will fail with error 412 conditionNotMet.
       # 
       # To see the latest fingerprint, make a get() request to retrieve a Subnetwork.
   &quot;gatewayAddress&quot;: &quot;A String&quot;, # [Output Only] The gateway address for default routes to reach destination addresses outside this subnetwork.
   &quot;id&quot;: &quot;A String&quot;, # [Output Only] The unique identifier for the resource. This identifier is defined by the server.
   &quot;ipCidrRange&quot;: &quot;A String&quot;, # The range of internal addresses that are owned by this subnetwork. Provide this property when you create the subnetwork. For example, 10.0.0.0/8 or 100.64.0.0/10. Ranges must be unique and non-overlapping within a network. Only IPv4 is supported. This field is set at resource creation time. The range can be any range listed in the Valid ranges list. The range can be expanded after creation using expandIpCidrRange.
+  &quot;ipv6AccessType&quot;: &quot;A String&quot;, # The access type of IPv6 address this subnet holds. It&#x27;s immutable and can only be specified during creation or the first time the subnet is updated into IPV4_IPV6 dual stack. If the ipv6_type is EXTERNAL then this subnet cannot enable direct path.
   &quot;ipv6CidrRange&quot;: &quot;A String&quot;, # [Output Only] The range of internal IPv6 addresses that are owned by this subnetwork.
   &quot;kind&quot;: &quot;compute#subnetwork&quot;, # [Output Only] Type of the resource. Always compute#subnetwork for Subnetwork resources.
   &quot;logConfig&quot;: { # The available logging options for this subnetwork. # This field denotes the VPC flow logging options for this subnetwork. If logging is enabled, logs are exported to Cloud Logging.
@@ -736,6 +748,9 @@
     },
   ],
   &quot;selfLink&quot;: &quot;A String&quot;, # [Output Only] Server-defined URL for the resource.
+  &quot;stackType&quot;: &quot;A String&quot;, # The stack type for this subnet to identify whether the IPv6 feature is enabled or not. If not specified IPV4_ONLY will be used.
+      # 
+      # This field can be both set at resource creation time and updated using patch.
   &quot;state&quot;: &quot;A String&quot;, # [Output Only] The state of the subnetwork, which can be one of the following values: READY: Subnetwork is created and ready to use DRAINING: only applicable to subnetworks that have the purpose set to INTERNAL_HTTPS_LOAD_BALANCER and indicates that connections to the load balancer are being drained. A subnetwork that is draining cannot be used or modified until it reaches a status of READY
 }
 
@@ -851,12 +866,14 @@
       &quot;creationTimestamp&quot;: &quot;A String&quot;, # [Output Only] Creation timestamp in RFC3339 text format.
       &quot;description&quot;: &quot;A String&quot;, # An optional description of this resource. Provide this property when you create the resource. This field can be set only at resource creation time.
       &quot;enableFlowLogs&quot;: True or False, # Whether to enable flow logging for this subnetwork. If this field is not explicitly set, it will not appear in get listings. If not set the default behavior is to disable flow logging. This field isn&#x27;t supported with the purpose field set to INTERNAL_HTTPS_LOAD_BALANCER.
+      &quot;externalIpv6Prefix&quot;: &quot;A String&quot;, # [Output Only] The range of external IPv6 addresses that are owned by this subnetwork.
       &quot;fingerprint&quot;: &quot;A String&quot;, # Fingerprint of this resource. A hash of the contents stored in this object. This field is used in optimistic locking. This field will be ignored when inserting a Subnetwork. An up-to-date fingerprint must be provided in order to update the Subnetwork, otherwise the request will fail with error 412 conditionNotMet.
           #
           # To see the latest fingerprint, make a get() request to retrieve a Subnetwork.
       &quot;gatewayAddress&quot;: &quot;A String&quot;, # [Output Only] The gateway address for default routes to reach destination addresses outside this subnetwork.
       &quot;id&quot;: &quot;A String&quot;, # [Output Only] The unique identifier for the resource. This identifier is defined by the server.
       &quot;ipCidrRange&quot;: &quot;A String&quot;, # The range of internal addresses that are owned by this subnetwork. Provide this property when you create the subnetwork. For example, 10.0.0.0/8 or 100.64.0.0/10. Ranges must be unique and non-overlapping within a network. Only IPv4 is supported. This field is set at resource creation time. The range can be any range listed in the Valid ranges list. The range can be expanded after creation using expandIpCidrRange.
+      &quot;ipv6AccessType&quot;: &quot;A String&quot;, # The access type of IPv6 address this subnet holds. It&#x27;s immutable and can only be specified during creation or the first time the subnet is updated into IPV4_IPV6 dual stack. If the ipv6_type is EXTERNAL then this subnet cannot enable direct path.
       &quot;ipv6CidrRange&quot;: &quot;A String&quot;, # [Output Only] The range of internal IPv6 addresses that are owned by this subnetwork.
       &quot;kind&quot;: &quot;compute#subnetwork&quot;, # [Output Only] Type of the resource. Always compute#subnetwork for Subnetwork resources.
       &quot;logConfig&quot;: { # The available logging options for this subnetwork. # This field denotes the VPC flow logging options for this subnetwork. If logging is enabled, logs are exported to Cloud Logging.
@@ -885,6 +902,9 @@
         },
       ],
       &quot;selfLink&quot;: &quot;A String&quot;, # [Output Only] Server-defined URL for the resource.
+      &quot;stackType&quot;: &quot;A String&quot;, # The stack type for this subnet to identify whether the IPv6 feature is enabled or not. If not specified IPV4_ONLY will be used.
+          #
+          # This field can be both set at resource creation time and updated using patch.
       &quot;state&quot;: &quot;A String&quot;, # [Output Only] The state of the subnetwork, which can be one of the following values: READY: Subnetwork is created and ready to use DRAINING: only applicable to subnetworks that have the purpose set to INTERNAL_HTTPS_LOAD_BALANCER and indicates that connections to the load balancer are being drained. A subnetwork that is draining cannot be used or modified until it reaches a status of READY
     },
   ],
@@ -1014,12 +1034,14 @@
   &quot;creationTimestamp&quot;: &quot;A String&quot;, # [Output Only] Creation timestamp in RFC3339 text format.
   &quot;description&quot;: &quot;A String&quot;, # An optional description of this resource. Provide this property when you create the resource. This field can be set only at resource creation time.
   &quot;enableFlowLogs&quot;: True or False, # Whether to enable flow logging for this subnetwork. If this field is not explicitly set, it will not appear in get listings. If not set the default behavior is to disable flow logging. This field isn&#x27;t supported with the purpose field set to INTERNAL_HTTPS_LOAD_BALANCER.
+  &quot;externalIpv6Prefix&quot;: &quot;A String&quot;, # [Output Only] The range of external IPv6 addresses that are owned by this subnetwork.
   &quot;fingerprint&quot;: &quot;A String&quot;, # Fingerprint of this resource. A hash of the contents stored in this object. This field is used in optimistic locking. This field will be ignored when inserting a Subnetwork. An up-to-date fingerprint must be provided in order to update the Subnetwork, otherwise the request will fail with error 412 conditionNotMet.
       # 
       # To see the latest fingerprint, make a get() request to retrieve a Subnetwork.
   &quot;gatewayAddress&quot;: &quot;A String&quot;, # [Output Only] The gateway address for default routes to reach destination addresses outside this subnetwork.
   &quot;id&quot;: &quot;A String&quot;, # [Output Only] The unique identifier for the resource. This identifier is defined by the server.
   &quot;ipCidrRange&quot;: &quot;A String&quot;, # The range of internal addresses that are owned by this subnetwork. Provide this property when you create the subnetwork. For example, 10.0.0.0/8 or 100.64.0.0/10. Ranges must be unique and non-overlapping within a network. Only IPv4 is supported. This field is set at resource creation time. The range can be any range listed in the Valid ranges list. The range can be expanded after creation using expandIpCidrRange.
+  &quot;ipv6AccessType&quot;: &quot;A String&quot;, # The access type of IPv6 address this subnet holds. It&#x27;s immutable and can only be specified during creation or the first time the subnet is updated into IPV4_IPV6 dual stack. If the ipv6_type is EXTERNAL then this subnet cannot enable direct path.
   &quot;ipv6CidrRange&quot;: &quot;A String&quot;, # [Output Only] The range of internal IPv6 addresses that are owned by this subnetwork.
   &quot;kind&quot;: &quot;compute#subnetwork&quot;, # [Output Only] Type of the resource. Always compute#subnetwork for Subnetwork resources.
   &quot;logConfig&quot;: { # The available logging options for this subnetwork. # This field denotes the VPC flow logging options for this subnetwork. If logging is enabled, logs are exported to Cloud Logging.
@@ -1048,6 +1070,9 @@
     },
   ],
   &quot;selfLink&quot;: &quot;A String&quot;, # [Output Only] Server-defined URL for the resource.
+  &quot;stackType&quot;: &quot;A String&quot;, # The stack type for this subnet to identify whether the IPv6 feature is enabled or not. If not specified IPV4_ONLY will be used.
+      # 
+      # This field can be both set at resource creation time and updated using patch.
   &quot;state&quot;: &quot;A String&quot;, # [Output Only] The state of the subnetwork, which can be one of the following values: READY: Subnetwork is created and ready to use DRAINING: only applicable to subnetworks that have the purpose set to INTERNAL_HTTPS_LOAD_BALANCER and indicates that connections to the load balancer are being drained. A subnetwork that is draining cannot be used or modified until it reaches a status of READY
 }
 
diff --git a/docs/dyn/compute_beta.targetHttpsProxies.html b/docs/dyn/compute_beta.targetHttpsProxies.html
index 2bc18ec..97427db 100644
--- a/docs/dyn/compute_beta.targetHttpsProxies.html
+++ b/docs/dyn/compute_beta.targetHttpsProxies.html
@@ -191,7 +191,7 @@
               # serverTlsPolicy only applies to a global TargetHttpsProxy attached to globalForwardingRules with the loadBalancingScheme set to INTERNAL_SELF_MANAGED.
               # If left blank, communications are not encrypted.
               # Note: This field currently has no impact.
-          &quot;sslCertificates&quot;: [ # URLs to SslCertificate resources that are used to authenticate connections between users and the load balancer. At least one SSL certificate must be specified. Currently, you may specify up to 15 SSL certificates.
+          &quot;sslCertificates&quot;: [ # URLs to SslCertificate resources that are used to authenticate connections between users and the load balancer. At least one SSL certificate must be specified. Currently, you may specify up to 15 SSL certificates. sslCertificates do not apply when the load balancing scheme is set to INTERNAL_SELF_MANAGED.
             &quot;A String&quot;,
           ],
           &quot;sslPolicy&quot;: &quot;A String&quot;, # URL of SslPolicy resource that will be associated with the TargetHttpsProxy resource. If not set, the TargetHttpsProxy resource has no SSL policy configured.
@@ -384,7 +384,7 @@
       # serverTlsPolicy only applies to a global TargetHttpsProxy attached to globalForwardingRules with the loadBalancingScheme set to INTERNAL_SELF_MANAGED.
       # If left blank, communications are not encrypted.
       # Note: This field currently has no impact.
-  &quot;sslCertificates&quot;: [ # URLs to SslCertificate resources that are used to authenticate connections between users and the load balancer. At least one SSL certificate must be specified. Currently, you may specify up to 15 SSL certificates.
+  &quot;sslCertificates&quot;: [ # URLs to SslCertificate resources that are used to authenticate connections between users and the load balancer. At least one SSL certificate must be specified. Currently, you may specify up to 15 SSL certificates. sslCertificates do not apply when the load balancing scheme is set to INTERNAL_SELF_MANAGED.
     &quot;A String&quot;,
   ],
   &quot;sslPolicy&quot;: &quot;A String&quot;, # URL of SslPolicy resource that will be associated with the TargetHttpsProxy resource. If not set, the TargetHttpsProxy resource has no SSL policy configured.
@@ -447,7 +447,7 @@
       # serverTlsPolicy only applies to a global TargetHttpsProxy attached to globalForwardingRules with the loadBalancingScheme set to INTERNAL_SELF_MANAGED.
       # If left blank, communications are not encrypted.
       # Note: This field currently has no impact.
-  &quot;sslCertificates&quot;: [ # URLs to SslCertificate resources that are used to authenticate connections between users and the load balancer. At least one SSL certificate must be specified. Currently, you may specify up to 15 SSL certificates.
+  &quot;sslCertificates&quot;: [ # URLs to SslCertificate resources that are used to authenticate connections between users and the load balancer. At least one SSL certificate must be specified. Currently, you may specify up to 15 SSL certificates. sslCertificates do not apply when the load balancing scheme is set to INTERNAL_SELF_MANAGED.
     &quot;A String&quot;,
   ],
   &quot;sslPolicy&quot;: &quot;A String&quot;, # URL of SslPolicy resource that will be associated with the TargetHttpsProxy resource. If not set, the TargetHttpsProxy resource has no SSL policy configured.
@@ -598,7 +598,7 @@
           # serverTlsPolicy only applies to a global TargetHttpsProxy attached to globalForwardingRules with the loadBalancingScheme set to INTERNAL_SELF_MANAGED.
           # If left blank, communications are not encrypted.
           # Note: This field currently has no impact.
-      &quot;sslCertificates&quot;: [ # URLs to SslCertificate resources that are used to authenticate connections between users and the load balancer. At least one SSL certificate must be specified. Currently, you may specify up to 15 SSL certificates.
+      &quot;sslCertificates&quot;: [ # URLs to SslCertificate resources that are used to authenticate connections between users and the load balancer. At least one SSL certificate must be specified. Currently, you may specify up to 15 SSL certificates. sslCertificates do not apply when the load balancing scheme is set to INTERNAL_SELF_MANAGED.
         &quot;A String&quot;,
       ],
       &quot;sslPolicy&quot;: &quot;A String&quot;, # URL of SslPolicy resource that will be associated with the TargetHttpsProxy resource. If not set, the TargetHttpsProxy resource has no SSL policy configured.
@@ -692,7 +692,7 @@
       # serverTlsPolicy only applies to a global TargetHttpsProxy attached to globalForwardingRules with the loadBalancingScheme set to INTERNAL_SELF_MANAGED.
       # If left blank, communications are not encrypted.
       # Note: This field currently has no impact.
-  &quot;sslCertificates&quot;: [ # URLs to SslCertificate resources that are used to authenticate connections between users and the load balancer. At least one SSL certificate must be specified. Currently, you may specify up to 15 SSL certificates.
+  &quot;sslCertificates&quot;: [ # URLs to SslCertificate resources that are used to authenticate connections between users and the load balancer. At least one SSL certificate must be specified. Currently, you may specify up to 15 SSL certificates. sslCertificates do not apply when the load balancing scheme is set to INTERNAL_SELF_MANAGED.
     &quot;A String&quot;,
   ],
   &quot;sslPolicy&quot;: &quot;A String&quot;, # URL of SslPolicy resource that will be associated with the TargetHttpsProxy resource. If not set, the TargetHttpsProxy resource has no SSL policy configured.
@@ -867,7 +867,7 @@
     The object takes the form of:
 
 {
-  &quot;sslCertificates&quot;: [ # New set of SslCertificate resources to associate with this TargetHttpsProxy resource. Currently exactly one SslCertificate resource must be specified.
+  &quot;sslCertificates&quot;: [ # New set of SslCertificate resources to associate with this TargetHttpsProxy resource. At least one SSL certificate must be specified. Currently, you may specify up to 15 SSL certificates.
     &quot;A String&quot;,
   ],
 }
diff --git a/docs/dyn/compute_beta.targetSslProxies.html b/docs/dyn/compute_beta.targetSslProxies.html
index 508fdf4..2c107c0 100644
--- a/docs/dyn/compute_beta.targetSslProxies.html
+++ b/docs/dyn/compute_beta.targetSslProxies.html
@@ -212,7 +212,7 @@
   &quot;proxyHeader&quot;: &quot;A String&quot;, # Specifies the type of proxy header to append before sending data to the backend, either NONE or PROXY_V1. The default is NONE.
   &quot;selfLink&quot;: &quot;A String&quot;, # [Output Only] Server-defined URL for the resource.
   &quot;service&quot;: &quot;A String&quot;, # URL to the BackendService resource.
-  &quot;sslCertificates&quot;: [ # URLs to SslCertificate resources that are used to authenticate connections to Backends. At least one SSL certificate must be specified. Currently, you may specify up to 15 SSL certificates.
+  &quot;sslCertificates&quot;: [ # URLs to SslCertificate resources that are used to authenticate connections to Backends. At least one SSL certificate must be specified. Currently, you may specify up to 15 SSL certificates. sslCertificates do not apply when the load balancing scheme is set to INTERNAL_SELF_MANAGED.
     &quot;A String&quot;,
   ],
   &quot;sslPolicy&quot;: &quot;A String&quot;, # URL of SslPolicy resource that will be associated with the TargetSslProxy resource. If not set, the TargetSslProxy resource will not have any SSL policy configured.
@@ -239,7 +239,7 @@
   &quot;proxyHeader&quot;: &quot;A String&quot;, # Specifies the type of proxy header to append before sending data to the backend, either NONE or PROXY_V1. The default is NONE.
   &quot;selfLink&quot;: &quot;A String&quot;, # [Output Only] Server-defined URL for the resource.
   &quot;service&quot;: &quot;A String&quot;, # URL to the BackendService resource.
-  &quot;sslCertificates&quot;: [ # URLs to SslCertificate resources that are used to authenticate connections to Backends. At least one SSL certificate must be specified. Currently, you may specify up to 15 SSL certificates.
+  &quot;sslCertificates&quot;: [ # URLs to SslCertificate resources that are used to authenticate connections to Backends. At least one SSL certificate must be specified. Currently, you may specify up to 15 SSL certificates. sslCertificates do not apply when the load balancing scheme is set to INTERNAL_SELF_MANAGED.
     &quot;A String&quot;,
   ],
   &quot;sslPolicy&quot;: &quot;A String&quot;, # URL of SslPolicy resource that will be associated with the TargetSslProxy resource. If not set, the TargetSslProxy resource will not have any SSL policy configured.
@@ -354,7 +354,7 @@
       &quot;proxyHeader&quot;: &quot;A String&quot;, # Specifies the type of proxy header to append before sending data to the backend, either NONE or PROXY_V1. The default is NONE.
       &quot;selfLink&quot;: &quot;A String&quot;, # [Output Only] Server-defined URL for the resource.
       &quot;service&quot;: &quot;A String&quot;, # URL to the BackendService resource.
-      &quot;sslCertificates&quot;: [ # URLs to SslCertificate resources that are used to authenticate connections to Backends. At least one SSL certificate must be specified. Currently, you may specify up to 15 SSL certificates.
+      &quot;sslCertificates&quot;: [ # URLs to SslCertificate resources that are used to authenticate connections to Backends. At least one SSL certificate must be specified. Currently, you may specify up to 15 SSL certificates. sslCertificates do not apply when the load balancing scheme is set to INTERNAL_SELF_MANAGED.
         &quot;A String&quot;,
       ],
       &quot;sslPolicy&quot;: &quot;A String&quot;, # URL of SslPolicy resource that will be associated with the TargetSslProxy resource. If not set, the TargetSslProxy resource will not have any SSL policy configured.
@@ -570,7 +570,7 @@
     The object takes the form of:
 
 {
-  &quot;sslCertificates&quot;: [ # New set of URLs to SslCertificate resources to associate with this TargetSslProxy. Currently exactly one ssl certificate must be specified.
+  &quot;sslCertificates&quot;: [ # New set of URLs to SslCertificate resources to associate with this TargetSslProxy. At least one SSL certificate must be specified. Currently, you may specify up to 15 SSL certificates.
     &quot;A String&quot;,
   ],
 }
diff --git a/docs/dyn/compute_beta.urlMaps.html b/docs/dyn/compute_beta.urlMaps.html
index ac12bce..0a066b2 100644
--- a/docs/dyn/compute_beta.urlMaps.html
+++ b/docs/dyn/compute_beta.urlMaps.html
@@ -193,10 +193,10 @@
             },
             &quot;faultInjectionPolicy&quot;: { # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests. # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests.
                 # timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy.
-                # Not supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true.
               &quot;abort&quot;: { # Specification for how requests are aborted as part of fault injection. # The specification for how client requests are aborted as part of fault injection.
                 &quot;httpStatus&quot;: 42, # The HTTP status code used to abort the request.
                     # The value must be between 200 and 599 inclusive.
+                    # For gRPC protocol, the gRPC status code is mapped to HTTP status code according to this  mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
                 &quot;percentage&quot;: 3.14, # The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.
                     # The value must be between 0.0 and 100.0 inclusive.
               },
@@ -227,7 +227,7 @@
                 &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
                 &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
               },
-              &quot;retryConditions&quot;: [ # Specfies one or more conditions when this retry rule applies. Valid values are:
+              &quot;retryConditions&quot;: [ # Specifies one or more conditions when this retry rule applies. Valid values are:
                   # - 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, or if the backend service does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams.
                   # - gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.
                   # -
@@ -394,10 +394,10 @@
                 },
                 &quot;faultInjectionPolicy&quot;: { # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests. # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests.
                     # timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy.
-                    # Not supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true.
                   &quot;abort&quot;: { # Specification for how requests are aborted as part of fault injection. # The specification for how client requests are aborted as part of fault injection.
                     &quot;httpStatus&quot;: 42, # The HTTP status code used to abort the request.
                         # The value must be between 200 and 599 inclusive.
+                        # For gRPC protocol, the gRPC status code is mapped to HTTP status code according to this  mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
                     &quot;percentage&quot;: 3.14, # The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.
                         # The value must be between 0.0 and 100.0 inclusive.
                   },
@@ -428,7 +428,7 @@
                     &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
                     &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
                   },
-                  &quot;retryConditions&quot;: [ # Specfies one or more conditions when this retry rule applies. Valid values are:
+                  &quot;retryConditions&quot;: [ # Specifies one or more conditions when this retry rule applies. Valid values are:
                       # - 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, or if the backend service does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams.
                       # - gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.
                       # -
@@ -590,10 +590,10 @@
                     },
                     &quot;faultInjectionPolicy&quot;: { # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests. # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests.
                         # timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy.
-                        # Not supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true.
                       &quot;abort&quot;: { # Specification for how requests are aborted as part of fault injection. # The specification for how client requests are aborted as part of fault injection.
                         &quot;httpStatus&quot;: 42, # The HTTP status code used to abort the request.
                             # The value must be between 200 and 599 inclusive.
+                            # For gRPC protocol, the gRPC status code is mapped to HTTP status code according to this  mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
                         &quot;percentage&quot;: 3.14, # The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.
                             # The value must be between 0.0 and 100.0 inclusive.
                       },
@@ -624,7 +624,7 @@
                         &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
                         &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
                       },
-                      &quot;retryConditions&quot;: [ # Specfies one or more conditions when this retry rule applies. Valid values are:
+                      &quot;retryConditions&quot;: [ # Specifies one or more conditions when this retry rule applies. Valid values are:
                           # - 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, or if the backend service does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams.
                           # - gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.
                           # -
@@ -884,10 +884,10 @@
                     },
                     &quot;faultInjectionPolicy&quot;: { # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests. # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests.
                         # timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy.
-                        # Not supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true.
                       &quot;abort&quot;: { # Specification for how requests are aborted as part of fault injection. # The specification for how client requests are aborted as part of fault injection.
                         &quot;httpStatus&quot;: 42, # The HTTP status code used to abort the request.
                             # The value must be between 200 and 599 inclusive.
+                            # For gRPC protocol, the gRPC status code is mapped to HTTP status code according to this  mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
                         &quot;percentage&quot;: 3.14, # The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.
                             # The value must be between 0.0 and 100.0 inclusive.
                       },
@@ -918,7 +918,7 @@
                         &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
                         &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
                       },
-                      &quot;retryConditions&quot;: [ # Specfies one or more conditions when this retry rule applies. Valid values are:
+                      &quot;retryConditions&quot;: [ # Specifies one or more conditions when this retry rule applies. Valid values are:
                           # - 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, or if the backend service does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams.
                           # - gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.
                           # -
@@ -1227,10 +1227,10 @@
     },
     &quot;faultInjectionPolicy&quot;: { # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests. # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests.
         # timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy.
-        # Not supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true.
       &quot;abort&quot;: { # Specification for how requests are aborted as part of fault injection. # The specification for how client requests are aborted as part of fault injection.
         &quot;httpStatus&quot;: 42, # The HTTP status code used to abort the request.
             # The value must be between 200 and 599 inclusive.
+            # For gRPC protocol, the gRPC status code is mapped to HTTP status code according to this  mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
         &quot;percentage&quot;: 3.14, # The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.
             # The value must be between 0.0 and 100.0 inclusive.
       },
@@ -1261,7 +1261,7 @@
         &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
         &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
       },
-      &quot;retryConditions&quot;: [ # Specfies one or more conditions when this retry rule applies. Valid values are:
+      &quot;retryConditions&quot;: [ # Specifies one or more conditions when this retry rule applies. Valid values are:
           # - 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, or if the backend service does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams.
           # - gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.
           # -
@@ -1428,10 +1428,10 @@
         },
         &quot;faultInjectionPolicy&quot;: { # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests. # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests.
             # timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy.
-            # Not supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true.
           &quot;abort&quot;: { # Specification for how requests are aborted as part of fault injection. # The specification for how client requests are aborted as part of fault injection.
             &quot;httpStatus&quot;: 42, # The HTTP status code used to abort the request.
                 # The value must be between 200 and 599 inclusive.
+                # For gRPC protocol, the gRPC status code is mapped to HTTP status code according to this  mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
             &quot;percentage&quot;: 3.14, # The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.
                 # The value must be between 0.0 and 100.0 inclusive.
           },
@@ -1462,7 +1462,7 @@
             &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
             &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
           },
-          &quot;retryConditions&quot;: [ # Specfies one or more conditions when this retry rule applies. Valid values are:
+          &quot;retryConditions&quot;: [ # Specifies one or more conditions when this retry rule applies. Valid values are:
               # - 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, or if the backend service does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams.
               # - gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.
               # -
@@ -1624,10 +1624,10 @@
             },
             &quot;faultInjectionPolicy&quot;: { # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests. # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests.
                 # timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy.
-                # Not supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true.
               &quot;abort&quot;: { # Specification for how requests are aborted as part of fault injection. # The specification for how client requests are aborted as part of fault injection.
                 &quot;httpStatus&quot;: 42, # The HTTP status code used to abort the request.
                     # The value must be between 200 and 599 inclusive.
+                    # For gRPC protocol, the gRPC status code is mapped to HTTP status code according to this  mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
                 &quot;percentage&quot;: 3.14, # The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.
                     # The value must be between 0.0 and 100.0 inclusive.
               },
@@ -1658,7 +1658,7 @@
                 &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
                 &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
               },
-              &quot;retryConditions&quot;: [ # Specfies one or more conditions when this retry rule applies. Valid values are:
+              &quot;retryConditions&quot;: [ # Specifies one or more conditions when this retry rule applies. Valid values are:
                   # - 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, or if the backend service does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams.
                   # - gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.
                   # -
@@ -1918,10 +1918,10 @@
             },
             &quot;faultInjectionPolicy&quot;: { # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests. # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests.
                 # timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy.
-                # Not supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true.
               &quot;abort&quot;: { # Specification for how requests are aborted as part of fault injection. # The specification for how client requests are aborted as part of fault injection.
                 &quot;httpStatus&quot;: 42, # The HTTP status code used to abort the request.
                     # The value must be between 200 and 599 inclusive.
+                    # For gRPC protocol, the gRPC status code is mapped to HTTP status code according to this  mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
                 &quot;percentage&quot;: 3.14, # The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.
                     # The value must be between 0.0 and 100.0 inclusive.
               },
@@ -1952,7 +1952,7 @@
                 &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
                 &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
               },
-              &quot;retryConditions&quot;: [ # Specfies one or more conditions when this retry rule applies. Valid values are:
+              &quot;retryConditions&quot;: [ # Specifies one or more conditions when this retry rule applies. Valid values are:
                   # - 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, or if the backend service does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams.
                   # - gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.
                   # -
@@ -2131,10 +2131,10 @@
     },
     &quot;faultInjectionPolicy&quot;: { # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests. # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests.
         # timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy.
-        # Not supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true.
       &quot;abort&quot;: { # Specification for how requests are aborted as part of fault injection. # The specification for how client requests are aborted as part of fault injection.
         &quot;httpStatus&quot;: 42, # The HTTP status code used to abort the request.
             # The value must be between 200 and 599 inclusive.
+            # For gRPC protocol, the gRPC status code is mapped to HTTP status code according to this  mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
         &quot;percentage&quot;: 3.14, # The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.
             # The value must be between 0.0 and 100.0 inclusive.
       },
@@ -2165,7 +2165,7 @@
         &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
         &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
       },
-      &quot;retryConditions&quot;: [ # Specfies one or more conditions when this retry rule applies. Valid values are:
+      &quot;retryConditions&quot;: [ # Specifies one or more conditions when this retry rule applies. Valid values are:
           # - 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, or if the backend service does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams.
           # - gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.
           # -
@@ -2332,10 +2332,10 @@
         },
         &quot;faultInjectionPolicy&quot;: { # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests. # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests.
             # timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy.
-            # Not supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true.
           &quot;abort&quot;: { # Specification for how requests are aborted as part of fault injection. # The specification for how client requests are aborted as part of fault injection.
             &quot;httpStatus&quot;: 42, # The HTTP status code used to abort the request.
                 # The value must be between 200 and 599 inclusive.
+                # For gRPC protocol, the gRPC status code is mapped to HTTP status code according to this  mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
             &quot;percentage&quot;: 3.14, # The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.
                 # The value must be between 0.0 and 100.0 inclusive.
           },
@@ -2366,7 +2366,7 @@
             &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
             &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
           },
-          &quot;retryConditions&quot;: [ # Specfies one or more conditions when this retry rule applies. Valid values are:
+          &quot;retryConditions&quot;: [ # Specifies one or more conditions when this retry rule applies. Valid values are:
               # - 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, or if the backend service does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams.
               # - gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.
               # -
@@ -2528,10 +2528,10 @@
             },
             &quot;faultInjectionPolicy&quot;: { # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests. # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests.
                 # timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy.
-                # Not supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true.
               &quot;abort&quot;: { # Specification for how requests are aborted as part of fault injection. # The specification for how client requests are aborted as part of fault injection.
                 &quot;httpStatus&quot;: 42, # The HTTP status code used to abort the request.
                     # The value must be between 200 and 599 inclusive.
+                    # For gRPC protocol, the gRPC status code is mapped to HTTP status code according to this  mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
                 &quot;percentage&quot;: 3.14, # The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.
                     # The value must be between 0.0 and 100.0 inclusive.
               },
@@ -2562,7 +2562,7 @@
                 &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
                 &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
               },
-              &quot;retryConditions&quot;: [ # Specfies one or more conditions when this retry rule applies. Valid values are:
+              &quot;retryConditions&quot;: [ # Specifies one or more conditions when this retry rule applies. Valid values are:
                   # - 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, or if the backend service does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams.
                   # - gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.
                   # -
@@ -2822,10 +2822,10 @@
             },
             &quot;faultInjectionPolicy&quot;: { # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests. # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests.
                 # timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy.
-                # Not supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true.
               &quot;abort&quot;: { # Specification for how requests are aborted as part of fault injection. # The specification for how client requests are aborted as part of fault injection.
                 &quot;httpStatus&quot;: 42, # The HTTP status code used to abort the request.
                     # The value must be between 200 and 599 inclusive.
+                    # For gRPC protocol, the gRPC status code is mapped to HTTP status code according to this  mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
                 &quot;percentage&quot;: 3.14, # The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.
                     # The value must be between 0.0 and 100.0 inclusive.
               },
@@ -2856,7 +2856,7 @@
                 &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
                 &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
               },
-              &quot;retryConditions&quot;: [ # Specfies one or more conditions when this retry rule applies. Valid values are:
+              &quot;retryConditions&quot;: [ # Specifies one or more conditions when this retry rule applies. Valid values are:
                   # - 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, or if the backend service does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams.
                   # - gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.
                   # -
@@ -3210,10 +3210,10 @@
         },
         &quot;faultInjectionPolicy&quot;: { # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests. # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests.
             # timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy.
-            # Not supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true.
           &quot;abort&quot;: { # Specification for how requests are aborted as part of fault injection. # The specification for how client requests are aborted as part of fault injection.
             &quot;httpStatus&quot;: 42, # The HTTP status code used to abort the request.
                 # The value must be between 200 and 599 inclusive.
+                # For gRPC protocol, the gRPC status code is mapped to HTTP status code according to this  mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
             &quot;percentage&quot;: 3.14, # The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.
                 # The value must be between 0.0 and 100.0 inclusive.
           },
@@ -3244,7 +3244,7 @@
             &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
             &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
           },
-          &quot;retryConditions&quot;: [ # Specfies one or more conditions when this retry rule applies. Valid values are:
+          &quot;retryConditions&quot;: [ # Specifies one or more conditions when this retry rule applies. Valid values are:
               # - 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, or if the backend service does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams.
               # - gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.
               # -
@@ -3411,10 +3411,10 @@
             },
             &quot;faultInjectionPolicy&quot;: { # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests. # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests.
                 # timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy.
-                # Not supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true.
               &quot;abort&quot;: { # Specification for how requests are aborted as part of fault injection. # The specification for how client requests are aborted as part of fault injection.
                 &quot;httpStatus&quot;: 42, # The HTTP status code used to abort the request.
                     # The value must be between 200 and 599 inclusive.
+                    # For gRPC protocol, the gRPC status code is mapped to HTTP status code according to this  mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
                 &quot;percentage&quot;: 3.14, # The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.
                     # The value must be between 0.0 and 100.0 inclusive.
               },
@@ -3445,7 +3445,7 @@
                 &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
                 &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
               },
-              &quot;retryConditions&quot;: [ # Specfies one or more conditions when this retry rule applies. Valid values are:
+              &quot;retryConditions&quot;: [ # Specifies one or more conditions when this retry rule applies. Valid values are:
                   # - 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, or if the backend service does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams.
                   # - gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.
                   # -
@@ -3607,10 +3607,10 @@
                 },
                 &quot;faultInjectionPolicy&quot;: { # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests. # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests.
                     # timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy.
-                    # Not supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true.
                   &quot;abort&quot;: { # Specification for how requests are aborted as part of fault injection. # The specification for how client requests are aborted as part of fault injection.
                     &quot;httpStatus&quot;: 42, # The HTTP status code used to abort the request.
                         # The value must be between 200 and 599 inclusive.
+                        # For gRPC protocol, the gRPC status code is mapped to HTTP status code according to this  mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
                     &quot;percentage&quot;: 3.14, # The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.
                         # The value must be between 0.0 and 100.0 inclusive.
                   },
@@ -3641,7 +3641,7 @@
                     &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
                     &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
                   },
-                  &quot;retryConditions&quot;: [ # Specfies one or more conditions when this retry rule applies. Valid values are:
+                  &quot;retryConditions&quot;: [ # Specifies one or more conditions when this retry rule applies. Valid values are:
                       # - 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, or if the backend service does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams.
                       # - gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.
                       # -
@@ -3901,10 +3901,10 @@
                 },
                 &quot;faultInjectionPolicy&quot;: { # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests. # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests.
                     # timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy.
-                    # Not supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true.
                   &quot;abort&quot;: { # Specification for how requests are aborted as part of fault injection. # The specification for how client requests are aborted as part of fault injection.
                     &quot;httpStatus&quot;: 42, # The HTTP status code used to abort the request.
                         # The value must be between 200 and 599 inclusive.
+                        # For gRPC protocol, the gRPC status code is mapped to HTTP status code according to this  mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
                     &quot;percentage&quot;: 3.14, # The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.
                         # The value must be between 0.0 and 100.0 inclusive.
                   },
@@ -3935,7 +3935,7 @@
                     &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
                     &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
                   },
-                  &quot;retryConditions&quot;: [ # Specfies one or more conditions when this retry rule applies. Valid values are:
+                  &quot;retryConditions&quot;: [ # Specifies one or more conditions when this retry rule applies. Valid values are:
                       # - 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, or if the backend service does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams.
                       # - gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.
                       # -
@@ -4145,10 +4145,10 @@
     },
     &quot;faultInjectionPolicy&quot;: { # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests. # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests.
         # timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy.
-        # Not supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true.
       &quot;abort&quot;: { # Specification for how requests are aborted as part of fault injection. # The specification for how client requests are aborted as part of fault injection.
         &quot;httpStatus&quot;: 42, # The HTTP status code used to abort the request.
             # The value must be between 200 and 599 inclusive.
+            # For gRPC protocol, the gRPC status code is mapped to HTTP status code according to this  mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
         &quot;percentage&quot;: 3.14, # The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.
             # The value must be between 0.0 and 100.0 inclusive.
       },
@@ -4179,7 +4179,7 @@
         &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
         &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
       },
-      &quot;retryConditions&quot;: [ # Specfies one or more conditions when this retry rule applies. Valid values are:
+      &quot;retryConditions&quot;: [ # Specifies one or more conditions when this retry rule applies. Valid values are:
           # - 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, or if the backend service does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams.
           # - gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.
           # -
@@ -4346,10 +4346,10 @@
         },
         &quot;faultInjectionPolicy&quot;: { # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests. # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests.
             # timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy.
-            # Not supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true.
           &quot;abort&quot;: { # Specification for how requests are aborted as part of fault injection. # The specification for how client requests are aborted as part of fault injection.
             &quot;httpStatus&quot;: 42, # The HTTP status code used to abort the request.
                 # The value must be between 200 and 599 inclusive.
+                # For gRPC protocol, the gRPC status code is mapped to HTTP status code according to this  mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
             &quot;percentage&quot;: 3.14, # The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.
                 # The value must be between 0.0 and 100.0 inclusive.
           },
@@ -4380,7 +4380,7 @@
             &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
             &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
           },
-          &quot;retryConditions&quot;: [ # Specfies one or more conditions when this retry rule applies. Valid values are:
+          &quot;retryConditions&quot;: [ # Specifies one or more conditions when this retry rule applies. Valid values are:
               # - 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, or if the backend service does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams.
               # - gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.
               # -
@@ -4542,10 +4542,10 @@
             },
             &quot;faultInjectionPolicy&quot;: { # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests. # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests.
                 # timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy.
-                # Not supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true.
               &quot;abort&quot;: { # Specification for how requests are aborted as part of fault injection. # The specification for how client requests are aborted as part of fault injection.
                 &quot;httpStatus&quot;: 42, # The HTTP status code used to abort the request.
                     # The value must be between 200 and 599 inclusive.
+                    # For gRPC protocol, the gRPC status code is mapped to HTTP status code according to this  mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
                 &quot;percentage&quot;: 3.14, # The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.
                     # The value must be between 0.0 and 100.0 inclusive.
               },
@@ -4576,7 +4576,7 @@
                 &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
                 &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
               },
-              &quot;retryConditions&quot;: [ # Specfies one or more conditions when this retry rule applies. Valid values are:
+              &quot;retryConditions&quot;: [ # Specifies one or more conditions when this retry rule applies. Valid values are:
                   # - 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, or if the backend service does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams.
                   # - gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.
                   # -
@@ -4836,10 +4836,10 @@
             },
             &quot;faultInjectionPolicy&quot;: { # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests. # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests.
                 # timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy.
-                # Not supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true.
               &quot;abort&quot;: { # Specification for how requests are aborted as part of fault injection. # The specification for how client requests are aborted as part of fault injection.
                 &quot;httpStatus&quot;: 42, # The HTTP status code used to abort the request.
                     # The value must be between 200 and 599 inclusive.
+                    # For gRPC protocol, the gRPC status code is mapped to HTTP status code according to this  mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
                 &quot;percentage&quot;: 3.14, # The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.
                     # The value must be between 0.0 and 100.0 inclusive.
               },
@@ -4870,7 +4870,7 @@
                 &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
                 &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
               },
-              &quot;retryConditions&quot;: [ # Specfies one or more conditions when this retry rule applies. Valid values are:
+              &quot;retryConditions&quot;: [ # Specifies one or more conditions when this retry rule applies. Valid values are:
                   # - 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, or if the backend service does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams.
                   # - gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.
                   # -
@@ -5146,10 +5146,10 @@
     },
     &quot;faultInjectionPolicy&quot;: { # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests. # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests.
         # timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy.
-        # Not supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true.
       &quot;abort&quot;: { # Specification for how requests are aborted as part of fault injection. # The specification for how client requests are aborted as part of fault injection.
         &quot;httpStatus&quot;: 42, # The HTTP status code used to abort the request.
             # The value must be between 200 and 599 inclusive.
+            # For gRPC protocol, the gRPC status code is mapped to HTTP status code according to this  mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
         &quot;percentage&quot;: 3.14, # The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.
             # The value must be between 0.0 and 100.0 inclusive.
       },
@@ -5180,7 +5180,7 @@
         &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
         &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
       },
-      &quot;retryConditions&quot;: [ # Specfies one or more conditions when this retry rule applies. Valid values are:
+      &quot;retryConditions&quot;: [ # Specifies one or more conditions when this retry rule applies. Valid values are:
           # - 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, or if the backend service does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams.
           # - gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.
           # -
@@ -5347,10 +5347,10 @@
         },
         &quot;faultInjectionPolicy&quot;: { # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests. # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests.
             # timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy.
-            # Not supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true.
           &quot;abort&quot;: { # Specification for how requests are aborted as part of fault injection. # The specification for how client requests are aborted as part of fault injection.
             &quot;httpStatus&quot;: 42, # The HTTP status code used to abort the request.
                 # The value must be between 200 and 599 inclusive.
+                # For gRPC protocol, the gRPC status code is mapped to HTTP status code according to this  mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
             &quot;percentage&quot;: 3.14, # The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.
                 # The value must be between 0.0 and 100.0 inclusive.
           },
@@ -5381,7 +5381,7 @@
             &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
             &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
           },
-          &quot;retryConditions&quot;: [ # Specfies one or more conditions when this retry rule applies. Valid values are:
+          &quot;retryConditions&quot;: [ # Specifies one or more conditions when this retry rule applies. Valid values are:
               # - 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, or if the backend service does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams.
               # - gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.
               # -
@@ -5543,10 +5543,10 @@
             },
             &quot;faultInjectionPolicy&quot;: { # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests. # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests.
                 # timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy.
-                # Not supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true.
               &quot;abort&quot;: { # Specification for how requests are aborted as part of fault injection. # The specification for how client requests are aborted as part of fault injection.
                 &quot;httpStatus&quot;: 42, # The HTTP status code used to abort the request.
                     # The value must be between 200 and 599 inclusive.
+                    # For gRPC protocol, the gRPC status code is mapped to HTTP status code according to this  mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
                 &quot;percentage&quot;: 3.14, # The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.
                     # The value must be between 0.0 and 100.0 inclusive.
               },
@@ -5577,7 +5577,7 @@
                 &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
                 &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
               },
-              &quot;retryConditions&quot;: [ # Specfies one or more conditions when this retry rule applies. Valid values are:
+              &quot;retryConditions&quot;: [ # Specifies one or more conditions when this retry rule applies. Valid values are:
                   # - 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, or if the backend service does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams.
                   # - gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.
                   # -
@@ -5837,10 +5837,10 @@
             },
             &quot;faultInjectionPolicy&quot;: { # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests. # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests.
                 # timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy.
-                # Not supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true.
               &quot;abort&quot;: { # Specification for how requests are aborted as part of fault injection. # The specification for how client requests are aborted as part of fault injection.
                 &quot;httpStatus&quot;: 42, # The HTTP status code used to abort the request.
                     # The value must be between 200 and 599 inclusive.
+                    # For gRPC protocol, the gRPC status code is mapped to HTTP status code according to this  mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
                 &quot;percentage&quot;: 3.14, # The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.
                     # The value must be between 0.0 and 100.0 inclusive.
               },
@@ -5871,7 +5871,7 @@
                 &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
                 &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
               },
-              &quot;retryConditions&quot;: [ # Specfies one or more conditions when this retry rule applies. Valid values are:
+              &quot;retryConditions&quot;: [ # Specifies one or more conditions when this retry rule applies. Valid values are:
                   # - 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, or if the backend service does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams.
                   # - gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.
                   # -
@@ -6121,10 +6121,10 @@
       },
       &quot;faultInjectionPolicy&quot;: { # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests. # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests.
           # timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy.
-          # Not supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true.
         &quot;abort&quot;: { # Specification for how requests are aborted as part of fault injection. # The specification for how client requests are aborted as part of fault injection.
           &quot;httpStatus&quot;: 42, # The HTTP status code used to abort the request.
               # The value must be between 200 and 599 inclusive.
+              # For gRPC protocol, the gRPC status code is mapped to HTTP status code according to this  mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
           &quot;percentage&quot;: 3.14, # The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.
               # The value must be between 0.0 and 100.0 inclusive.
         },
@@ -6155,7 +6155,7 @@
           &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
           &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
         },
-        &quot;retryConditions&quot;: [ # Specfies one or more conditions when this retry rule applies. Valid values are:
+        &quot;retryConditions&quot;: [ # Specifies one or more conditions when this retry rule applies. Valid values are:
             # - 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, or if the backend service does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams.
             # - gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.
             # -
@@ -6322,10 +6322,10 @@
           },
           &quot;faultInjectionPolicy&quot;: { # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests. # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests.
               # timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy.
-              # Not supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true.
             &quot;abort&quot;: { # Specification for how requests are aborted as part of fault injection. # The specification for how client requests are aborted as part of fault injection.
               &quot;httpStatus&quot;: 42, # The HTTP status code used to abort the request.
                   # The value must be between 200 and 599 inclusive.
+                  # For gRPC protocol, the gRPC status code is mapped to HTTP status code according to this  mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
               &quot;percentage&quot;: 3.14, # The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.
                   # The value must be between 0.0 and 100.0 inclusive.
             },
@@ -6356,7 +6356,7 @@
               &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
               &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
             },
-            &quot;retryConditions&quot;: [ # Specfies one or more conditions when this retry rule applies. Valid values are:
+            &quot;retryConditions&quot;: [ # Specifies one or more conditions when this retry rule applies. Valid values are:
                 # - 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, or if the backend service does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams.
                 # - gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.
                 # -
@@ -6518,10 +6518,10 @@
               },
               &quot;faultInjectionPolicy&quot;: { # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests. # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests.
                   # timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy.
-                  # Not supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true.
                 &quot;abort&quot;: { # Specification for how requests are aborted as part of fault injection. # The specification for how client requests are aborted as part of fault injection.
                   &quot;httpStatus&quot;: 42, # The HTTP status code used to abort the request.
                       # The value must be between 200 and 599 inclusive.
+                      # For gRPC protocol, the gRPC status code is mapped to HTTP status code according to this  mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
                   &quot;percentage&quot;: 3.14, # The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.
                       # The value must be between 0.0 and 100.0 inclusive.
                 },
@@ -6552,7 +6552,7 @@
                   &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
                   &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
                 },
-                &quot;retryConditions&quot;: [ # Specfies one or more conditions when this retry rule applies. Valid values are:
+                &quot;retryConditions&quot;: [ # Specifies one or more conditions when this retry rule applies. Valid values are:
                     # - 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, or if the backend service does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams.
                     # - gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.
                     # -
@@ -6812,10 +6812,10 @@
               },
               &quot;faultInjectionPolicy&quot;: { # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests. # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests.
                   # timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy.
-                  # Not supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true.
                 &quot;abort&quot;: { # Specification for how requests are aborted as part of fault injection. # The specification for how client requests are aborted as part of fault injection.
                   &quot;httpStatus&quot;: 42, # The HTTP status code used to abort the request.
                       # The value must be between 200 and 599 inclusive.
+                      # For gRPC protocol, the gRPC status code is mapped to HTTP status code according to this  mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
                   &quot;percentage&quot;: 3.14, # The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.
                       # The value must be between 0.0 and 100.0 inclusive.
                 },
@@ -6846,7 +6846,7 @@
                   &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
                   &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
                 },
-                &quot;retryConditions&quot;: [ # Specfies one or more conditions when this retry rule applies. Valid values are:
+                &quot;retryConditions&quot;: [ # Specifies one or more conditions when this retry rule applies. Valid values are:
                     # - 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, or if the backend service does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams.
                     # - gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.
                     # -
diff --git a/docs/dyn/compute_v1.backendServices.html b/docs/dyn/compute_v1.backendServices.html
index 549e644..d047e9d 100644
--- a/docs/dyn/compute_v1.backendServices.html
+++ b/docs/dyn/compute_v1.backendServices.html
@@ -336,18 +336,12 @@
               &quot;A String&quot;,
             ],
           },
-          &quot;circuitBreakers&quot;: { # Settings controlling the volume of connections to a backend service. # Settings controlling the volume of connections to a backend service. If not set, this feature is considered disabled.
-              #
-              # This field is applicable to either:
-              # - A regional backend service with the service_protocol set to HTTP, HTTPS, or HTTP2, and load_balancing_scheme set to INTERNAL_MANAGED.
-              # - A global backend service with the load_balancing_scheme set to INTERNAL_SELF_MANAGED.
-              #
-              # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
-            &quot;maxConnections&quot;: 42, # The maximum number of connections to the backend service. If not specified, there is no limit.
-            &quot;maxPendingRequests&quot;: 42, # The maximum number of pending requests allowed to the backend service. If not specified, there is no limit.
+          &quot;circuitBreakers&quot;: { # Settings controlling the volume of connections to a backend service.
+            &quot;maxConnections&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
+            &quot;maxPendingRequests&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
             &quot;maxRequests&quot;: 42, # The maximum number of parallel requests that allowed to the backend service. If not specified, there is no limit.
-            &quot;maxRequestsPerConnection&quot;: 42, # Maximum requests for a single connection to the backend service. This parameter is respected by both the HTTP/1.1 and HTTP/2 implementations. If not specified, there is no limit. Setting this parameter to 1 will effectively disable keep alive.
-            &quot;maxRetries&quot;: 42, # The maximum number of parallel retries allowed to the backend cluster. If not specified, the default is 1.
+            &quot;maxRequestsPerConnection&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
+            &quot;maxRetries&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
           },
           &quot;connectionDraining&quot;: { # Message containing connection draining configuration.
             &quot;drainingTimeoutSec&quot;: 42, # Configures a duration timeout for existing requests on a removed backend instance. For supported load balancers and protocols, as described in Enabling connection draining.
@@ -422,6 +416,7 @@
           },
           &quot;maxStreamDuration&quot;: { # A Duration represents a fixed-length span of time represented as a count of seconds and fractions of seconds at nanosecond resolution. It is independent of any calendar and concepts like &quot;day&quot; or &quot;month&quot;. Range is approximately 10,000 years. # Specifies the default maximum duration (timeout) for streams to this service. Duration is computed from the beginning of the stream until the response has been completely processed, including all retries. A stream that does not complete in this duration is closed.
               # If not specified, there will be no timeout limit, i.e. the maximum duration is infinite.
+              # This value can be overridden in the PathMatcher configuration of the UrlMap that references this backend service.
               # This field is only allowed when the loadBalancingScheme of the backend service is INTERNAL_SELF_MANAGED.
             &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
             &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
@@ -492,7 +487,7 @@
               # When the loadBalancingScheme is INTERNAL_SELF_MANAGED, or INTERNAL_MANAGED, possible values are NONE, CLIENT_IP, GENERATED_COOKIE, HEADER_FIELD, or HTTP_COOKIE.
               #
               # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
-          &quot;timeoutSec&quot;: 42, # The backend service timeout has a different meaning depending on the type of load balancer. For more information see,  Backend service settings The default is 30 seconds. The full range of timeout values allowed is 1 - 2,147,483,647 seconds.
+          &quot;timeoutSec&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true. Instead, use maxStreamDuration.
         },
       ],
       &quot;warning&quot;: { # Informational warning which replaces the list of backend services when the list is empty.
@@ -816,18 +811,12 @@
       &quot;A String&quot;,
     ],
   },
-  &quot;circuitBreakers&quot;: { # Settings controlling the volume of connections to a backend service. # Settings controlling the volume of connections to a backend service. If not set, this feature is considered disabled.
-      #
-      # This field is applicable to either:
-      # - A regional backend service with the service_protocol set to HTTP, HTTPS, or HTTP2, and load_balancing_scheme set to INTERNAL_MANAGED.
-      # - A global backend service with the load_balancing_scheme set to INTERNAL_SELF_MANAGED.
-      #
-      # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
-    &quot;maxConnections&quot;: 42, # The maximum number of connections to the backend service. If not specified, there is no limit.
-    &quot;maxPendingRequests&quot;: 42, # The maximum number of pending requests allowed to the backend service. If not specified, there is no limit.
+  &quot;circuitBreakers&quot;: { # Settings controlling the volume of connections to a backend service.
+    &quot;maxConnections&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
+    &quot;maxPendingRequests&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
     &quot;maxRequests&quot;: 42, # The maximum number of parallel requests that allowed to the backend service. If not specified, there is no limit.
-    &quot;maxRequestsPerConnection&quot;: 42, # Maximum requests for a single connection to the backend service. This parameter is respected by both the HTTP/1.1 and HTTP/2 implementations. If not specified, there is no limit. Setting this parameter to 1 will effectively disable keep alive.
-    &quot;maxRetries&quot;: 42, # The maximum number of parallel retries allowed to the backend cluster. If not specified, the default is 1.
+    &quot;maxRequestsPerConnection&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
+    &quot;maxRetries&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
   },
   &quot;connectionDraining&quot;: { # Message containing connection draining configuration.
     &quot;drainingTimeoutSec&quot;: 42, # Configures a duration timeout for existing requests on a removed backend instance. For supported load balancers and protocols, as described in Enabling connection draining.
@@ -902,6 +891,7 @@
   },
   &quot;maxStreamDuration&quot;: { # A Duration represents a fixed-length span of time represented as a count of seconds and fractions of seconds at nanosecond resolution. It is independent of any calendar and concepts like &quot;day&quot; or &quot;month&quot;. Range is approximately 10,000 years. # Specifies the default maximum duration (timeout) for streams to this service. Duration is computed from the beginning of the stream until the response has been completely processed, including all retries. A stream that does not complete in this duration is closed.
       # If not specified, there will be no timeout limit, i.e. the maximum duration is infinite.
+      # This value can be overridden in the PathMatcher configuration of the UrlMap that references this backend service.
       # This field is only allowed when the loadBalancingScheme of the backend service is INTERNAL_SELF_MANAGED.
     &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
     &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
@@ -972,7 +962,7 @@
       # When the loadBalancingScheme is INTERNAL_SELF_MANAGED, or INTERNAL_MANAGED, possible values are NONE, CLIENT_IP, GENERATED_COOKIE, HEADER_FIELD, or HTTP_COOKIE.
       #
       # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
-  &quot;timeoutSec&quot;: 42, # The backend service timeout has a different meaning depending on the type of load balancer. For more information see,  Backend service settings The default is 30 seconds. The full range of timeout values allowed is 1 - 2,147,483,647 seconds.
+  &quot;timeoutSec&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true. Instead, use maxStreamDuration.
 }</pre>
 </div>
 
@@ -1133,18 +1123,12 @@
       &quot;A String&quot;,
     ],
   },
-  &quot;circuitBreakers&quot;: { # Settings controlling the volume of connections to a backend service. # Settings controlling the volume of connections to a backend service. If not set, this feature is considered disabled.
-      # 
-      # This field is applicable to either:
-      # - A regional backend service with the service_protocol set to HTTP, HTTPS, or HTTP2, and load_balancing_scheme set to INTERNAL_MANAGED.
-      # - A global backend service with the load_balancing_scheme set to INTERNAL_SELF_MANAGED.
-      # 
-      # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
-    &quot;maxConnections&quot;: 42, # The maximum number of connections to the backend service. If not specified, there is no limit.
-    &quot;maxPendingRequests&quot;: 42, # The maximum number of pending requests allowed to the backend service. If not specified, there is no limit.
+  &quot;circuitBreakers&quot;: { # Settings controlling the volume of connections to a backend service.
+    &quot;maxConnections&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
+    &quot;maxPendingRequests&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
     &quot;maxRequests&quot;: 42, # The maximum number of parallel requests that allowed to the backend service. If not specified, there is no limit.
-    &quot;maxRequestsPerConnection&quot;: 42, # Maximum requests for a single connection to the backend service. This parameter is respected by both the HTTP/1.1 and HTTP/2 implementations. If not specified, there is no limit. Setting this parameter to 1 will effectively disable keep alive.
-    &quot;maxRetries&quot;: 42, # The maximum number of parallel retries allowed to the backend cluster. If not specified, the default is 1.
+    &quot;maxRequestsPerConnection&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
+    &quot;maxRetries&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
   },
   &quot;connectionDraining&quot;: { # Message containing connection draining configuration.
     &quot;drainingTimeoutSec&quot;: 42, # Configures a duration timeout for existing requests on a removed backend instance. For supported load balancers and protocols, as described in Enabling connection draining.
@@ -1219,6 +1203,7 @@
   },
   &quot;maxStreamDuration&quot;: { # A Duration represents a fixed-length span of time represented as a count of seconds and fractions of seconds at nanosecond resolution. It is independent of any calendar and concepts like &quot;day&quot; or &quot;month&quot;. Range is approximately 10,000 years. # Specifies the default maximum duration (timeout) for streams to this service. Duration is computed from the beginning of the stream until the response has been completely processed, including all retries. A stream that does not complete in this duration is closed.
       # If not specified, there will be no timeout limit, i.e. the maximum duration is infinite.
+      # This value can be overridden in the PathMatcher configuration of the UrlMap that references this backend service.
       # This field is only allowed when the loadBalancingScheme of the backend service is INTERNAL_SELF_MANAGED.
     &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
     &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
@@ -1289,7 +1274,7 @@
       # When the loadBalancingScheme is INTERNAL_SELF_MANAGED, or INTERNAL_MANAGED, possible values are NONE, CLIENT_IP, GENERATED_COOKIE, HEADER_FIELD, or HTTP_COOKIE.
       # 
       # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
-  &quot;timeoutSec&quot;: 42, # The backend service timeout has a different meaning depending on the type of load balancer. For more information see,  Backend service settings The default is 30 seconds. The full range of timeout values allowed is 1 - 2,147,483,647 seconds.
+  &quot;timeoutSec&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true. Instead, use maxStreamDuration.
 }
 
   requestId: string, An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.
@@ -1493,18 +1478,12 @@
           &quot;A String&quot;,
         ],
       },
-      &quot;circuitBreakers&quot;: { # Settings controlling the volume of connections to a backend service. # Settings controlling the volume of connections to a backend service. If not set, this feature is considered disabled.
-          #
-          # This field is applicable to either:
-          # - A regional backend service with the service_protocol set to HTTP, HTTPS, or HTTP2, and load_balancing_scheme set to INTERNAL_MANAGED.
-          # - A global backend service with the load_balancing_scheme set to INTERNAL_SELF_MANAGED.
-          #
-          # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
-        &quot;maxConnections&quot;: 42, # The maximum number of connections to the backend service. If not specified, there is no limit.
-        &quot;maxPendingRequests&quot;: 42, # The maximum number of pending requests allowed to the backend service. If not specified, there is no limit.
+      &quot;circuitBreakers&quot;: { # Settings controlling the volume of connections to a backend service.
+        &quot;maxConnections&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
+        &quot;maxPendingRequests&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
         &quot;maxRequests&quot;: 42, # The maximum number of parallel requests that allowed to the backend service. If not specified, there is no limit.
-        &quot;maxRequestsPerConnection&quot;: 42, # Maximum requests for a single connection to the backend service. This parameter is respected by both the HTTP/1.1 and HTTP/2 implementations. If not specified, there is no limit. Setting this parameter to 1 will effectively disable keep alive.
-        &quot;maxRetries&quot;: 42, # The maximum number of parallel retries allowed to the backend cluster. If not specified, the default is 1.
+        &quot;maxRequestsPerConnection&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
+        &quot;maxRetries&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
       },
       &quot;connectionDraining&quot;: { # Message containing connection draining configuration.
         &quot;drainingTimeoutSec&quot;: 42, # Configures a duration timeout for existing requests on a removed backend instance. For supported load balancers and protocols, as described in Enabling connection draining.
@@ -1579,6 +1558,7 @@
       },
       &quot;maxStreamDuration&quot;: { # A Duration represents a fixed-length span of time represented as a count of seconds and fractions of seconds at nanosecond resolution. It is independent of any calendar and concepts like &quot;day&quot; or &quot;month&quot;. Range is approximately 10,000 years. # Specifies the default maximum duration (timeout) for streams to this service. Duration is computed from the beginning of the stream until the response has been completely processed, including all retries. A stream that does not complete in this duration is closed.
           # If not specified, there will be no timeout limit, i.e. the maximum duration is infinite.
+          # This value can be overridden in the PathMatcher configuration of the UrlMap that references this backend service.
           # This field is only allowed when the loadBalancingScheme of the backend service is INTERNAL_SELF_MANAGED.
         &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
         &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
@@ -1649,7 +1629,7 @@
           # When the loadBalancingScheme is INTERNAL_SELF_MANAGED, or INTERNAL_MANAGED, possible values are NONE, CLIENT_IP, GENERATED_COOKIE, HEADER_FIELD, or HTTP_COOKIE.
           #
           # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
-      &quot;timeoutSec&quot;: 42, # The backend service timeout has a different meaning depending on the type of load balancer. For more information see,  Backend service settings The default is 30 seconds. The full range of timeout values allowed is 1 - 2,147,483,647 seconds.
+      &quot;timeoutSec&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true. Instead, use maxStreamDuration.
     },
   ],
   &quot;kind&quot;: &quot;compute#backendServiceList&quot;, # [Output Only] Type of resource. Always compute#backendServiceList for lists of backend services.
@@ -1796,18 +1776,12 @@
       &quot;A String&quot;,
     ],
   },
-  &quot;circuitBreakers&quot;: { # Settings controlling the volume of connections to a backend service. # Settings controlling the volume of connections to a backend service. If not set, this feature is considered disabled.
-      # 
-      # This field is applicable to either:
-      # - A regional backend service with the service_protocol set to HTTP, HTTPS, or HTTP2, and load_balancing_scheme set to INTERNAL_MANAGED.
-      # - A global backend service with the load_balancing_scheme set to INTERNAL_SELF_MANAGED.
-      # 
-      # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
-    &quot;maxConnections&quot;: 42, # The maximum number of connections to the backend service. If not specified, there is no limit.
-    &quot;maxPendingRequests&quot;: 42, # The maximum number of pending requests allowed to the backend service. If not specified, there is no limit.
+  &quot;circuitBreakers&quot;: { # Settings controlling the volume of connections to a backend service.
+    &quot;maxConnections&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
+    &quot;maxPendingRequests&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
     &quot;maxRequests&quot;: 42, # The maximum number of parallel requests that allowed to the backend service. If not specified, there is no limit.
-    &quot;maxRequestsPerConnection&quot;: 42, # Maximum requests for a single connection to the backend service. This parameter is respected by both the HTTP/1.1 and HTTP/2 implementations. If not specified, there is no limit. Setting this parameter to 1 will effectively disable keep alive.
-    &quot;maxRetries&quot;: 42, # The maximum number of parallel retries allowed to the backend cluster. If not specified, the default is 1.
+    &quot;maxRequestsPerConnection&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
+    &quot;maxRetries&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
   },
   &quot;connectionDraining&quot;: { # Message containing connection draining configuration.
     &quot;drainingTimeoutSec&quot;: 42, # Configures a duration timeout for existing requests on a removed backend instance. For supported load balancers and protocols, as described in Enabling connection draining.
@@ -1882,6 +1856,7 @@
   },
   &quot;maxStreamDuration&quot;: { # A Duration represents a fixed-length span of time represented as a count of seconds and fractions of seconds at nanosecond resolution. It is independent of any calendar and concepts like &quot;day&quot; or &quot;month&quot;. Range is approximately 10,000 years. # Specifies the default maximum duration (timeout) for streams to this service. Duration is computed from the beginning of the stream until the response has been completely processed, including all retries. A stream that does not complete in this duration is closed.
       # If not specified, there will be no timeout limit, i.e. the maximum duration is infinite.
+      # This value can be overridden in the PathMatcher configuration of the UrlMap that references this backend service.
       # This field is only allowed when the loadBalancingScheme of the backend service is INTERNAL_SELF_MANAGED.
     &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
     &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
@@ -1952,7 +1927,7 @@
       # When the loadBalancingScheme is INTERNAL_SELF_MANAGED, or INTERNAL_MANAGED, possible values are NONE, CLIENT_IP, GENERATED_COOKIE, HEADER_FIELD, or HTTP_COOKIE.
       # 
       # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
-  &quot;timeoutSec&quot;: 42, # The backend service timeout has a different meaning depending on the type of load balancer. For more information see,  Backend service settings The default is 30 seconds. The full range of timeout values allowed is 1 - 2,147,483,647 seconds.
+  &quot;timeoutSec&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true. Instead, use maxStreamDuration.
 }
 
   requestId: string, An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.
@@ -2222,18 +2197,12 @@
       &quot;A String&quot;,
     ],
   },
-  &quot;circuitBreakers&quot;: { # Settings controlling the volume of connections to a backend service. # Settings controlling the volume of connections to a backend service. If not set, this feature is considered disabled.
-      # 
-      # This field is applicable to either:
-      # - A regional backend service with the service_protocol set to HTTP, HTTPS, or HTTP2, and load_balancing_scheme set to INTERNAL_MANAGED.
-      # - A global backend service with the load_balancing_scheme set to INTERNAL_SELF_MANAGED.
-      # 
-      # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
-    &quot;maxConnections&quot;: 42, # The maximum number of connections to the backend service. If not specified, there is no limit.
-    &quot;maxPendingRequests&quot;: 42, # The maximum number of pending requests allowed to the backend service. If not specified, there is no limit.
+  &quot;circuitBreakers&quot;: { # Settings controlling the volume of connections to a backend service.
+    &quot;maxConnections&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
+    &quot;maxPendingRequests&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
     &quot;maxRequests&quot;: 42, # The maximum number of parallel requests that allowed to the backend service. If not specified, there is no limit.
-    &quot;maxRequestsPerConnection&quot;: 42, # Maximum requests for a single connection to the backend service. This parameter is respected by both the HTTP/1.1 and HTTP/2 implementations. If not specified, there is no limit. Setting this parameter to 1 will effectively disable keep alive.
-    &quot;maxRetries&quot;: 42, # The maximum number of parallel retries allowed to the backend cluster. If not specified, the default is 1.
+    &quot;maxRequestsPerConnection&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
+    &quot;maxRetries&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
   },
   &quot;connectionDraining&quot;: { # Message containing connection draining configuration.
     &quot;drainingTimeoutSec&quot;: 42, # Configures a duration timeout for existing requests on a removed backend instance. For supported load balancers and protocols, as described in Enabling connection draining.
@@ -2308,6 +2277,7 @@
   },
   &quot;maxStreamDuration&quot;: { # A Duration represents a fixed-length span of time represented as a count of seconds and fractions of seconds at nanosecond resolution. It is independent of any calendar and concepts like &quot;day&quot; or &quot;month&quot;. Range is approximately 10,000 years. # Specifies the default maximum duration (timeout) for streams to this service. Duration is computed from the beginning of the stream until the response has been completely processed, including all retries. A stream that does not complete in this duration is closed.
       # If not specified, there will be no timeout limit, i.e. the maximum duration is infinite.
+      # This value can be overridden in the PathMatcher configuration of the UrlMap that references this backend service.
       # This field is only allowed when the loadBalancingScheme of the backend service is INTERNAL_SELF_MANAGED.
     &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
     &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
@@ -2378,7 +2348,7 @@
       # When the loadBalancingScheme is INTERNAL_SELF_MANAGED, or INTERNAL_MANAGED, possible values are NONE, CLIENT_IP, GENERATED_COOKIE, HEADER_FIELD, or HTTP_COOKIE.
       # 
       # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
-  &quot;timeoutSec&quot;: 42, # The backend service timeout has a different meaning depending on the type of load balancer. For more information see,  Backend service settings The default is 30 seconds. The full range of timeout values allowed is 1 - 2,147,483,647 seconds.
+  &quot;timeoutSec&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true. Instead, use maxStreamDuration.
 }
 
   requestId: string, An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.
diff --git a/docs/dyn/compute_v1.forwardingRules.html b/docs/dyn/compute_v1.forwardingRules.html
index 6a64b09..439081a 100644
--- a/docs/dyn/compute_v1.forwardingRules.html
+++ b/docs/dyn/compute_v1.forwardingRules.html
@@ -167,17 +167,19 @@
               # For Private Service Connect forwarding rules that forward traffic to Google APIs, IP address must be provided.
           &quot;IPProtocol&quot;: &quot;A String&quot;, # The IP protocol to which this rule applies.
               #
-              # For protocol forwarding, valid options are TCP, UDP, ESP, AH, SCTP and ICMP.
+              # For protocol forwarding, valid options are TCP, UDP, ESP, AH, SCTP, ICMP and L3_DEFAULT.
               #
               # The valid IP protocols are different for different load balancing products:
-              # - Internal TCP/UDP Load Balancing: The load balancing scheme is INTERNAL, and one of TCP, UDP or ALL is valid.
+              # - Internal TCP/UDP Load Balancing: The load balancing scheme is INTERNAL, and one of TCP, UDP or L3_DEFAULT is valid.
               # - Traffic Director: The load balancing scheme is INTERNAL_SELF_MANAGED, and only TCP is valid.
               # - Internal HTTP(S) Load Balancing: The load balancing scheme is INTERNAL_MANAGED, and only TCP is valid.
               # - HTTP(S), SSL Proxy, and TCP Proxy Load Balancing: The load balancing scheme is EXTERNAL and only TCP is valid.
-              # - Network Load Balancing: The load balancing scheme is EXTERNAL, and one of TCP or UDP is valid.
-          &quot;allPorts&quot;: True or False, # This field is used along with the backend_service field for internal load balancing or with the target field for internal TargetInstance. This field cannot be used with port or portRange fields.
+              # - Network Load Balancing: The load balancing scheme is EXTERNAL, and one of TCP, UDP or L3_DEFAULT is valid.
+          &quot;allPorts&quot;: True or False, # This field is used along with the backend_service field for Internal TCP/UDP Load Balancing or Network Load Balancing, or with the target field for internal and external TargetInstance.
               #
-              # When the load balancing scheme is INTERNAL and protocol is TCP/UDP, specify this field to allow packets addressed to any ports will be forwarded to the backends configured with this forwarding rule.
+              # You can only use one of ports and port_range, or allPorts. The three are mutually exclusive.
+              #
+              # For TCP, UDP and SCTP traffic, packets addressed to any ports will be forwarded to the target or backendService.
           &quot;allowGlobalAccess&quot;: True or False, # This field is used along with the backend_service field for internal load balancing or with the target field for internal TargetInstance. If the field is set to TRUE, clients can access ILB from all regions. Otherwise only allows access from clients in the same region as the internal load balancer.
           &quot;backendService&quot;: &quot;A String&quot;, # Identifies the backend service to which the forwarding rule sends traffic. Required for Internal TCP/UDP Load Balancing and Network Load Balancing; must be omitted for all other load balancer types.
           &quot;creationTimestamp&quot;: &quot;A String&quot;, # [Output Only] Creation timestamp in RFC3339 text format.
@@ -244,9 +246,15 @@
               # For regional ForwardingRule, the valid values are PREMIUM and STANDARD. For GlobalForwardingRule, the valid value is PREMIUM.
               #
               # If this field is not specified, it is assumed to be PREMIUM. If IPAddress is specified, this value must be equal to the networkTier of the Address.
-          &quot;portRange&quot;: &quot;A String&quot;, # This field can be used only if: * Load balancing scheme is one of EXTERNAL,  INTERNAL_SELF_MANAGED or INTERNAL_MANAGED, and * IPProtocol is one of TCP, UDP, or SCTP.
+          &quot;portRange&quot;: &quot;A String&quot;, # This field can be used only if:
+              # - Load balancing scheme is one of EXTERNAL,  INTERNAL_SELF_MANAGED or INTERNAL_MANAGED
+              # - IPProtocol is one of TCP, UDP, or SCTP.
               #
-              # Packets addressed to ports in the specified range will be forwarded to target or  backend_service. You can only use one of ports, port_range, or allPorts. The three are mutually exclusive. Forwarding rules with the same [IPAddress, IPProtocol] pair must have disjoint port ranges.
+              # Packets addressed to ports in the specified range will be forwarded to target or  backend_service.
+              #
+              # You can only use one of ports, port_range, or allPorts. The three are mutually exclusive.
+              #
+              # Forwarding rules with the same [IPAddress, IPProtocol] pair must have disjoint ports.
               #
               # Some types of forwarding target have constraints on the acceptable ports:
               # - TargetHttpProxy: 80, 8080
@@ -261,7 +269,7 @@
               #
               # You can specify a list of up to five ports, which can be non-contiguous.
               #
-              # For Internal TCP/UDP Load Balancing, if you specify allPorts, you should not specify ports.
+              # Forwarding rules with the same [IPAddress, IPProtocol] pair must have disjoint ports.
               #
               # For more information, see [Port specifications](/load-balancing/docs/forwarding-rule-concepts#port_specifications).
             &quot;A String&quot;,
@@ -464,17 +472,19 @@
       # For Private Service Connect forwarding rules that forward traffic to Google APIs, IP address must be provided.
   &quot;IPProtocol&quot;: &quot;A String&quot;, # The IP protocol to which this rule applies.
       #
-      # For protocol forwarding, valid options are TCP, UDP, ESP, AH, SCTP and ICMP.
+      # For protocol forwarding, valid options are TCP, UDP, ESP, AH, SCTP, ICMP and L3_DEFAULT.
       #
       # The valid IP protocols are different for different load balancing products:
-      # - Internal TCP/UDP Load Balancing: The load balancing scheme is INTERNAL, and one of TCP, UDP or ALL is valid.
+      # - Internal TCP/UDP Load Balancing: The load balancing scheme is INTERNAL, and one of TCP, UDP or L3_DEFAULT is valid.
       # - Traffic Director: The load balancing scheme is INTERNAL_SELF_MANAGED, and only TCP is valid.
       # - Internal HTTP(S) Load Balancing: The load balancing scheme is INTERNAL_MANAGED, and only TCP is valid.
       # - HTTP(S), SSL Proxy, and TCP Proxy Load Balancing: The load balancing scheme is EXTERNAL and only TCP is valid.
-      # - Network Load Balancing: The load balancing scheme is EXTERNAL, and one of TCP or UDP is valid.
-  &quot;allPorts&quot;: True or False, # This field is used along with the backend_service field for internal load balancing or with the target field for internal TargetInstance. This field cannot be used with port or portRange fields.
+      # - Network Load Balancing: The load balancing scheme is EXTERNAL, and one of TCP, UDP or L3_DEFAULT is valid.
+  &quot;allPorts&quot;: True or False, # This field is used along with the backend_service field for Internal TCP/UDP Load Balancing or Network Load Balancing, or with the target field for internal and external TargetInstance.
       #
-      # When the load balancing scheme is INTERNAL and protocol is TCP/UDP, specify this field to allow packets addressed to any ports will be forwarded to the backends configured with this forwarding rule.
+      # You can only use one of ports and port_range, or allPorts. The three are mutually exclusive.
+      #
+      # For TCP, UDP and SCTP traffic, packets addressed to any ports will be forwarded to the target or backendService.
   &quot;allowGlobalAccess&quot;: True or False, # This field is used along with the backend_service field for internal load balancing or with the target field for internal TargetInstance. If the field is set to TRUE, clients can access ILB from all regions. Otherwise only allows access from clients in the same region as the internal load balancer.
   &quot;backendService&quot;: &quot;A String&quot;, # Identifies the backend service to which the forwarding rule sends traffic. Required for Internal TCP/UDP Load Balancing and Network Load Balancing; must be omitted for all other load balancer types.
   &quot;creationTimestamp&quot;: &quot;A String&quot;, # [Output Only] Creation timestamp in RFC3339 text format.
@@ -541,9 +551,15 @@
       # For regional ForwardingRule, the valid values are PREMIUM and STANDARD. For GlobalForwardingRule, the valid value is PREMIUM.
       #
       # If this field is not specified, it is assumed to be PREMIUM. If IPAddress is specified, this value must be equal to the networkTier of the Address.
-  &quot;portRange&quot;: &quot;A String&quot;, # This field can be used only if: * Load balancing scheme is one of EXTERNAL,  INTERNAL_SELF_MANAGED or INTERNAL_MANAGED, and * IPProtocol is one of TCP, UDP, or SCTP.
+  &quot;portRange&quot;: &quot;A String&quot;, # This field can be used only if:
+      # - Load balancing scheme is one of EXTERNAL,  INTERNAL_SELF_MANAGED or INTERNAL_MANAGED
+      # - IPProtocol is one of TCP, UDP, or SCTP.
       #
-      # Packets addressed to ports in the specified range will be forwarded to target or  backend_service. You can only use one of ports, port_range, or allPorts. The three are mutually exclusive. Forwarding rules with the same [IPAddress, IPProtocol] pair must have disjoint port ranges.
+      # Packets addressed to ports in the specified range will be forwarded to target or  backend_service.
+      #
+      # You can only use one of ports, port_range, or allPorts. The three are mutually exclusive.
+      #
+      # Forwarding rules with the same [IPAddress, IPProtocol] pair must have disjoint ports.
       #
       # Some types of forwarding target have constraints on the acceptable ports:
       # - TargetHttpProxy: 80, 8080
@@ -558,7 +574,7 @@
       #
       # You can specify a list of up to five ports, which can be non-contiguous.
       #
-      # For Internal TCP/UDP Load Balancing, if you specify allPorts, you should not specify ports.
+      # Forwarding rules with the same [IPAddress, IPProtocol] pair must have disjoint ports.
       #
       # For more information, see [Port specifications](/load-balancing/docs/forwarding-rule-concepts#port_specifications).
     &quot;A String&quot;,
@@ -630,17 +646,19 @@
       # For Private Service Connect forwarding rules that forward traffic to Google APIs, IP address must be provided.
   &quot;IPProtocol&quot;: &quot;A String&quot;, # The IP protocol to which this rule applies.
       # 
-      # For protocol forwarding, valid options are TCP, UDP, ESP, AH, SCTP and ICMP.
+      # For protocol forwarding, valid options are TCP, UDP, ESP, AH, SCTP, ICMP and L3_DEFAULT.
       # 
       # The valid IP protocols are different for different load balancing products:
-      # - Internal TCP/UDP Load Balancing: The load balancing scheme is INTERNAL, and one of TCP, UDP or ALL is valid.
+      # - Internal TCP/UDP Load Balancing: The load balancing scheme is INTERNAL, and one of TCP, UDP or L3_DEFAULT is valid.
       # - Traffic Director: The load balancing scheme is INTERNAL_SELF_MANAGED, and only TCP is valid.
       # - Internal HTTP(S) Load Balancing: The load balancing scheme is INTERNAL_MANAGED, and only TCP is valid.
       # - HTTP(S), SSL Proxy, and TCP Proxy Load Balancing: The load balancing scheme is EXTERNAL and only TCP is valid.
-      # - Network Load Balancing: The load balancing scheme is EXTERNAL, and one of TCP or UDP is valid.
-  &quot;allPorts&quot;: True or False, # This field is used along with the backend_service field for internal load balancing or with the target field for internal TargetInstance. This field cannot be used with port or portRange fields.
+      # - Network Load Balancing: The load balancing scheme is EXTERNAL, and one of TCP, UDP or L3_DEFAULT is valid.
+  &quot;allPorts&quot;: True or False, # This field is used along with the backend_service field for Internal TCP/UDP Load Balancing or Network Load Balancing, or with the target field for internal and external TargetInstance.
       # 
-      # When the load balancing scheme is INTERNAL and protocol is TCP/UDP, specify this field to allow packets addressed to any ports will be forwarded to the backends configured with this forwarding rule.
+      # You can only use one of ports and port_range, or allPorts. The three are mutually exclusive.
+      # 
+      # For TCP, UDP and SCTP traffic, packets addressed to any ports will be forwarded to the target or backendService.
   &quot;allowGlobalAccess&quot;: True or False, # This field is used along with the backend_service field for internal load balancing or with the target field for internal TargetInstance. If the field is set to TRUE, clients can access ILB from all regions. Otherwise only allows access from clients in the same region as the internal load balancer.
   &quot;backendService&quot;: &quot;A String&quot;, # Identifies the backend service to which the forwarding rule sends traffic. Required for Internal TCP/UDP Load Balancing and Network Load Balancing; must be omitted for all other load balancer types.
   &quot;creationTimestamp&quot;: &quot;A String&quot;, # [Output Only] Creation timestamp in RFC3339 text format.
@@ -707,9 +725,15 @@
       # For regional ForwardingRule, the valid values are PREMIUM and STANDARD. For GlobalForwardingRule, the valid value is PREMIUM.
       # 
       # If this field is not specified, it is assumed to be PREMIUM. If IPAddress is specified, this value must be equal to the networkTier of the Address.
-  &quot;portRange&quot;: &quot;A String&quot;, # This field can be used only if: * Load balancing scheme is one of EXTERNAL,  INTERNAL_SELF_MANAGED or INTERNAL_MANAGED, and * IPProtocol is one of TCP, UDP, or SCTP.
+  &quot;portRange&quot;: &quot;A String&quot;, # This field can be used only if:
+      # - Load balancing scheme is one of EXTERNAL,  INTERNAL_SELF_MANAGED or INTERNAL_MANAGED
+      # - IPProtocol is one of TCP, UDP, or SCTP.
       # 
-      # Packets addressed to ports in the specified range will be forwarded to target or  backend_service. You can only use one of ports, port_range, or allPorts. The three are mutually exclusive. Forwarding rules with the same [IPAddress, IPProtocol] pair must have disjoint port ranges.
+      # Packets addressed to ports in the specified range will be forwarded to target or  backend_service.
+      # 
+      # You can only use one of ports, port_range, or allPorts. The three are mutually exclusive.
+      # 
+      # Forwarding rules with the same [IPAddress, IPProtocol] pair must have disjoint ports.
       # 
       # Some types of forwarding target have constraints on the acceptable ports:
       # - TargetHttpProxy: 80, 8080
@@ -724,7 +748,7 @@
       # 
       # You can specify a list of up to five ports, which can be non-contiguous.
       # 
-      # For Internal TCP/UDP Load Balancing, if you specify allPorts, you should not specify ports.
+      # Forwarding rules with the same [IPAddress, IPProtocol] pair must have disjoint ports.
       # 
       # For more information, see [Port specifications](/load-balancing/docs/forwarding-rule-concepts#port_specifications).
     &quot;A String&quot;,
@@ -884,17 +908,19 @@
           # For Private Service Connect forwarding rules that forward traffic to Google APIs, IP address must be provided.
       &quot;IPProtocol&quot;: &quot;A String&quot;, # The IP protocol to which this rule applies.
           #
-          # For protocol forwarding, valid options are TCP, UDP, ESP, AH, SCTP and ICMP.
+          # For protocol forwarding, valid options are TCP, UDP, ESP, AH, SCTP, ICMP and L3_DEFAULT.
           #
           # The valid IP protocols are different for different load balancing products:
-          # - Internal TCP/UDP Load Balancing: The load balancing scheme is INTERNAL, and one of TCP, UDP or ALL is valid.
+          # - Internal TCP/UDP Load Balancing: The load balancing scheme is INTERNAL, and one of TCP, UDP or L3_DEFAULT is valid.
           # - Traffic Director: The load balancing scheme is INTERNAL_SELF_MANAGED, and only TCP is valid.
           # - Internal HTTP(S) Load Balancing: The load balancing scheme is INTERNAL_MANAGED, and only TCP is valid.
           # - HTTP(S), SSL Proxy, and TCP Proxy Load Balancing: The load balancing scheme is EXTERNAL and only TCP is valid.
-          # - Network Load Balancing: The load balancing scheme is EXTERNAL, and one of TCP or UDP is valid.
-      &quot;allPorts&quot;: True or False, # This field is used along with the backend_service field for internal load balancing or with the target field for internal TargetInstance. This field cannot be used with port or portRange fields.
+          # - Network Load Balancing: The load balancing scheme is EXTERNAL, and one of TCP, UDP or L3_DEFAULT is valid.
+      &quot;allPorts&quot;: True or False, # This field is used along with the backend_service field for Internal TCP/UDP Load Balancing or Network Load Balancing, or with the target field for internal and external TargetInstance.
           #
-          # When the load balancing scheme is INTERNAL and protocol is TCP/UDP, specify this field to allow packets addressed to any ports will be forwarded to the backends configured with this forwarding rule.
+          # You can only use one of ports and port_range, or allPorts. The three are mutually exclusive.
+          #
+          # For TCP, UDP and SCTP traffic, packets addressed to any ports will be forwarded to the target or backendService.
       &quot;allowGlobalAccess&quot;: True or False, # This field is used along with the backend_service field for internal load balancing or with the target field for internal TargetInstance. If the field is set to TRUE, clients can access ILB from all regions. Otherwise only allows access from clients in the same region as the internal load balancer.
       &quot;backendService&quot;: &quot;A String&quot;, # Identifies the backend service to which the forwarding rule sends traffic. Required for Internal TCP/UDP Load Balancing and Network Load Balancing; must be omitted for all other load balancer types.
       &quot;creationTimestamp&quot;: &quot;A String&quot;, # [Output Only] Creation timestamp in RFC3339 text format.
@@ -961,9 +987,15 @@
           # For regional ForwardingRule, the valid values are PREMIUM and STANDARD. For GlobalForwardingRule, the valid value is PREMIUM.
           #
           # If this field is not specified, it is assumed to be PREMIUM. If IPAddress is specified, this value must be equal to the networkTier of the Address.
-      &quot;portRange&quot;: &quot;A String&quot;, # This field can be used only if: * Load balancing scheme is one of EXTERNAL,  INTERNAL_SELF_MANAGED or INTERNAL_MANAGED, and * IPProtocol is one of TCP, UDP, or SCTP.
+      &quot;portRange&quot;: &quot;A String&quot;, # This field can be used only if:
+          # - Load balancing scheme is one of EXTERNAL,  INTERNAL_SELF_MANAGED or INTERNAL_MANAGED
+          # - IPProtocol is one of TCP, UDP, or SCTP.
           #
-          # Packets addressed to ports in the specified range will be forwarded to target or  backend_service. You can only use one of ports, port_range, or allPorts. The three are mutually exclusive. Forwarding rules with the same [IPAddress, IPProtocol] pair must have disjoint port ranges.
+          # Packets addressed to ports in the specified range will be forwarded to target or  backend_service.
+          #
+          # You can only use one of ports, port_range, or allPorts. The three are mutually exclusive.
+          #
+          # Forwarding rules with the same [IPAddress, IPProtocol] pair must have disjoint ports.
           #
           # Some types of forwarding target have constraints on the acceptable ports:
           # - TargetHttpProxy: 80, 8080
@@ -978,7 +1010,7 @@
           #
           # You can specify a list of up to five ports, which can be non-contiguous.
           #
-          # For Internal TCP/UDP Load Balancing, if you specify allPorts, you should not specify ports.
+          # Forwarding rules with the same [IPAddress, IPProtocol] pair must have disjoint ports.
           #
           # For more information, see [Port specifications](/load-balancing/docs/forwarding-rule-concepts#port_specifications).
         &quot;A String&quot;,
@@ -1081,17 +1113,19 @@
       # For Private Service Connect forwarding rules that forward traffic to Google APIs, IP address must be provided.
   &quot;IPProtocol&quot;: &quot;A String&quot;, # The IP protocol to which this rule applies.
       # 
-      # For protocol forwarding, valid options are TCP, UDP, ESP, AH, SCTP and ICMP.
+      # For protocol forwarding, valid options are TCP, UDP, ESP, AH, SCTP, ICMP and L3_DEFAULT.
       # 
       # The valid IP protocols are different for different load balancing products:
-      # - Internal TCP/UDP Load Balancing: The load balancing scheme is INTERNAL, and one of TCP, UDP or ALL is valid.
+      # - Internal TCP/UDP Load Balancing: The load balancing scheme is INTERNAL, and one of TCP, UDP or L3_DEFAULT is valid.
       # - Traffic Director: The load balancing scheme is INTERNAL_SELF_MANAGED, and only TCP is valid.
       # - Internal HTTP(S) Load Balancing: The load balancing scheme is INTERNAL_MANAGED, and only TCP is valid.
       # - HTTP(S), SSL Proxy, and TCP Proxy Load Balancing: The load balancing scheme is EXTERNAL and only TCP is valid.
-      # - Network Load Balancing: The load balancing scheme is EXTERNAL, and one of TCP or UDP is valid.
-  &quot;allPorts&quot;: True or False, # This field is used along with the backend_service field for internal load balancing or with the target field for internal TargetInstance. This field cannot be used with port or portRange fields.
+      # - Network Load Balancing: The load balancing scheme is EXTERNAL, and one of TCP, UDP or L3_DEFAULT is valid.
+  &quot;allPorts&quot;: True or False, # This field is used along with the backend_service field for Internal TCP/UDP Load Balancing or Network Load Balancing, or with the target field for internal and external TargetInstance.
       # 
-      # When the load balancing scheme is INTERNAL and protocol is TCP/UDP, specify this field to allow packets addressed to any ports will be forwarded to the backends configured with this forwarding rule.
+      # You can only use one of ports and port_range, or allPorts. The three are mutually exclusive.
+      # 
+      # For TCP, UDP and SCTP traffic, packets addressed to any ports will be forwarded to the target or backendService.
   &quot;allowGlobalAccess&quot;: True or False, # This field is used along with the backend_service field for internal load balancing or with the target field for internal TargetInstance. If the field is set to TRUE, clients can access ILB from all regions. Otherwise only allows access from clients in the same region as the internal load balancer.
   &quot;backendService&quot;: &quot;A String&quot;, # Identifies the backend service to which the forwarding rule sends traffic. Required for Internal TCP/UDP Load Balancing and Network Load Balancing; must be omitted for all other load balancer types.
   &quot;creationTimestamp&quot;: &quot;A String&quot;, # [Output Only] Creation timestamp in RFC3339 text format.
@@ -1158,9 +1192,15 @@
       # For regional ForwardingRule, the valid values are PREMIUM and STANDARD. For GlobalForwardingRule, the valid value is PREMIUM.
       # 
       # If this field is not specified, it is assumed to be PREMIUM. If IPAddress is specified, this value must be equal to the networkTier of the Address.
-  &quot;portRange&quot;: &quot;A String&quot;, # This field can be used only if: * Load balancing scheme is one of EXTERNAL,  INTERNAL_SELF_MANAGED or INTERNAL_MANAGED, and * IPProtocol is one of TCP, UDP, or SCTP.
+  &quot;portRange&quot;: &quot;A String&quot;, # This field can be used only if:
+      # - Load balancing scheme is one of EXTERNAL,  INTERNAL_SELF_MANAGED or INTERNAL_MANAGED
+      # - IPProtocol is one of TCP, UDP, or SCTP.
       # 
-      # Packets addressed to ports in the specified range will be forwarded to target or  backend_service. You can only use one of ports, port_range, or allPorts. The three are mutually exclusive. Forwarding rules with the same [IPAddress, IPProtocol] pair must have disjoint port ranges.
+      # Packets addressed to ports in the specified range will be forwarded to target or  backend_service.
+      # 
+      # You can only use one of ports, port_range, or allPorts. The three are mutually exclusive.
+      # 
+      # Forwarding rules with the same [IPAddress, IPProtocol] pair must have disjoint ports.
       # 
       # Some types of forwarding target have constraints on the acceptable ports:
       # - TargetHttpProxy: 80, 8080
@@ -1175,7 +1215,7 @@
       # 
       # You can specify a list of up to five ports, which can be non-contiguous.
       # 
-      # For Internal TCP/UDP Load Balancing, if you specify allPorts, you should not specify ports.
+      # Forwarding rules with the same [IPAddress, IPProtocol] pair must have disjoint ports.
       # 
       # For more information, see [Port specifications](/load-balancing/docs/forwarding-rule-concepts#port_specifications).
     &quot;A String&quot;,
diff --git a/docs/dyn/compute_v1.globalForwardingRules.html b/docs/dyn/compute_v1.globalForwardingRules.html
index 3bd16c5..597f516 100644
--- a/docs/dyn/compute_v1.globalForwardingRules.html
+++ b/docs/dyn/compute_v1.globalForwardingRules.html
@@ -223,17 +223,19 @@
       # For Private Service Connect forwarding rules that forward traffic to Google APIs, IP address must be provided.
   &quot;IPProtocol&quot;: &quot;A String&quot;, # The IP protocol to which this rule applies.
       #
-      # For protocol forwarding, valid options are TCP, UDP, ESP, AH, SCTP and ICMP.
+      # For protocol forwarding, valid options are TCP, UDP, ESP, AH, SCTP, ICMP and L3_DEFAULT.
       #
       # The valid IP protocols are different for different load balancing products:
-      # - Internal TCP/UDP Load Balancing: The load balancing scheme is INTERNAL, and one of TCP, UDP or ALL is valid.
+      # - Internal TCP/UDP Load Balancing: The load balancing scheme is INTERNAL, and one of TCP, UDP or L3_DEFAULT is valid.
       # - Traffic Director: The load balancing scheme is INTERNAL_SELF_MANAGED, and only TCP is valid.
       # - Internal HTTP(S) Load Balancing: The load balancing scheme is INTERNAL_MANAGED, and only TCP is valid.
       # - HTTP(S), SSL Proxy, and TCP Proxy Load Balancing: The load balancing scheme is EXTERNAL and only TCP is valid.
-      # - Network Load Balancing: The load balancing scheme is EXTERNAL, and one of TCP or UDP is valid.
-  &quot;allPorts&quot;: True or False, # This field is used along with the backend_service field for internal load balancing or with the target field for internal TargetInstance. This field cannot be used with port or portRange fields.
+      # - Network Load Balancing: The load balancing scheme is EXTERNAL, and one of TCP, UDP or L3_DEFAULT is valid.
+  &quot;allPorts&quot;: True or False, # This field is used along with the backend_service field for Internal TCP/UDP Load Balancing or Network Load Balancing, or with the target field for internal and external TargetInstance.
       #
-      # When the load balancing scheme is INTERNAL and protocol is TCP/UDP, specify this field to allow packets addressed to any ports will be forwarded to the backends configured with this forwarding rule.
+      # You can only use one of ports and port_range, or allPorts. The three are mutually exclusive.
+      #
+      # For TCP, UDP and SCTP traffic, packets addressed to any ports will be forwarded to the target or backendService.
   &quot;allowGlobalAccess&quot;: True or False, # This field is used along with the backend_service field for internal load balancing or with the target field for internal TargetInstance. If the field is set to TRUE, clients can access ILB from all regions. Otherwise only allows access from clients in the same region as the internal load balancer.
   &quot;backendService&quot;: &quot;A String&quot;, # Identifies the backend service to which the forwarding rule sends traffic. Required for Internal TCP/UDP Load Balancing and Network Load Balancing; must be omitted for all other load balancer types.
   &quot;creationTimestamp&quot;: &quot;A String&quot;, # [Output Only] Creation timestamp in RFC3339 text format.
@@ -300,9 +302,15 @@
       # For regional ForwardingRule, the valid values are PREMIUM and STANDARD. For GlobalForwardingRule, the valid value is PREMIUM.
       #
       # If this field is not specified, it is assumed to be PREMIUM. If IPAddress is specified, this value must be equal to the networkTier of the Address.
-  &quot;portRange&quot;: &quot;A String&quot;, # This field can be used only if: * Load balancing scheme is one of EXTERNAL,  INTERNAL_SELF_MANAGED or INTERNAL_MANAGED, and * IPProtocol is one of TCP, UDP, or SCTP.
+  &quot;portRange&quot;: &quot;A String&quot;, # This field can be used only if:
+      # - Load balancing scheme is one of EXTERNAL,  INTERNAL_SELF_MANAGED or INTERNAL_MANAGED
+      # - IPProtocol is one of TCP, UDP, or SCTP.
       #
-      # Packets addressed to ports in the specified range will be forwarded to target or  backend_service. You can only use one of ports, port_range, or allPorts. The three are mutually exclusive. Forwarding rules with the same [IPAddress, IPProtocol] pair must have disjoint port ranges.
+      # Packets addressed to ports in the specified range will be forwarded to target or  backend_service.
+      #
+      # You can only use one of ports, port_range, or allPorts. The three are mutually exclusive.
+      #
+      # Forwarding rules with the same [IPAddress, IPProtocol] pair must have disjoint ports.
       #
       # Some types of forwarding target have constraints on the acceptable ports:
       # - TargetHttpProxy: 80, 8080
@@ -317,7 +325,7 @@
       #
       # You can specify a list of up to five ports, which can be non-contiguous.
       #
-      # For Internal TCP/UDP Load Balancing, if you specify allPorts, you should not specify ports.
+      # Forwarding rules with the same [IPAddress, IPProtocol] pair must have disjoint ports.
       #
       # For more information, see [Port specifications](/load-balancing/docs/forwarding-rule-concepts#port_specifications).
     &quot;A String&quot;,
@@ -388,17 +396,19 @@
       # For Private Service Connect forwarding rules that forward traffic to Google APIs, IP address must be provided.
   &quot;IPProtocol&quot;: &quot;A String&quot;, # The IP protocol to which this rule applies.
       # 
-      # For protocol forwarding, valid options are TCP, UDP, ESP, AH, SCTP and ICMP.
+      # For protocol forwarding, valid options are TCP, UDP, ESP, AH, SCTP, ICMP and L3_DEFAULT.
       # 
       # The valid IP protocols are different for different load balancing products:
-      # - Internal TCP/UDP Load Balancing: The load balancing scheme is INTERNAL, and one of TCP, UDP or ALL is valid.
+      # - Internal TCP/UDP Load Balancing: The load balancing scheme is INTERNAL, and one of TCP, UDP or L3_DEFAULT is valid.
       # - Traffic Director: The load balancing scheme is INTERNAL_SELF_MANAGED, and only TCP is valid.
       # - Internal HTTP(S) Load Balancing: The load balancing scheme is INTERNAL_MANAGED, and only TCP is valid.
       # - HTTP(S), SSL Proxy, and TCP Proxy Load Balancing: The load balancing scheme is EXTERNAL and only TCP is valid.
-      # - Network Load Balancing: The load balancing scheme is EXTERNAL, and one of TCP or UDP is valid.
-  &quot;allPorts&quot;: True or False, # This field is used along with the backend_service field for internal load balancing or with the target field for internal TargetInstance. This field cannot be used with port or portRange fields.
+      # - Network Load Balancing: The load balancing scheme is EXTERNAL, and one of TCP, UDP or L3_DEFAULT is valid.
+  &quot;allPorts&quot;: True or False, # This field is used along with the backend_service field for Internal TCP/UDP Load Balancing or Network Load Balancing, or with the target field for internal and external TargetInstance.
       # 
-      # When the load balancing scheme is INTERNAL and protocol is TCP/UDP, specify this field to allow packets addressed to any ports will be forwarded to the backends configured with this forwarding rule.
+      # You can only use one of ports and port_range, or allPorts. The three are mutually exclusive.
+      # 
+      # For TCP, UDP and SCTP traffic, packets addressed to any ports will be forwarded to the target or backendService.
   &quot;allowGlobalAccess&quot;: True or False, # This field is used along with the backend_service field for internal load balancing or with the target field for internal TargetInstance. If the field is set to TRUE, clients can access ILB from all regions. Otherwise only allows access from clients in the same region as the internal load balancer.
   &quot;backendService&quot;: &quot;A String&quot;, # Identifies the backend service to which the forwarding rule sends traffic. Required for Internal TCP/UDP Load Balancing and Network Load Balancing; must be omitted for all other load balancer types.
   &quot;creationTimestamp&quot;: &quot;A String&quot;, # [Output Only] Creation timestamp in RFC3339 text format.
@@ -465,9 +475,15 @@
       # For regional ForwardingRule, the valid values are PREMIUM and STANDARD. For GlobalForwardingRule, the valid value is PREMIUM.
       # 
       # If this field is not specified, it is assumed to be PREMIUM. If IPAddress is specified, this value must be equal to the networkTier of the Address.
-  &quot;portRange&quot;: &quot;A String&quot;, # This field can be used only if: * Load balancing scheme is one of EXTERNAL,  INTERNAL_SELF_MANAGED or INTERNAL_MANAGED, and * IPProtocol is one of TCP, UDP, or SCTP.
+  &quot;portRange&quot;: &quot;A String&quot;, # This field can be used only if:
+      # - Load balancing scheme is one of EXTERNAL,  INTERNAL_SELF_MANAGED or INTERNAL_MANAGED
+      # - IPProtocol is one of TCP, UDP, or SCTP.
       # 
-      # Packets addressed to ports in the specified range will be forwarded to target or  backend_service. You can only use one of ports, port_range, or allPorts. The three are mutually exclusive. Forwarding rules with the same [IPAddress, IPProtocol] pair must have disjoint port ranges.
+      # Packets addressed to ports in the specified range will be forwarded to target or  backend_service.
+      # 
+      # You can only use one of ports, port_range, or allPorts. The three are mutually exclusive.
+      # 
+      # Forwarding rules with the same [IPAddress, IPProtocol] pair must have disjoint ports.
       # 
       # Some types of forwarding target have constraints on the acceptable ports:
       # - TargetHttpProxy: 80, 8080
@@ -482,7 +498,7 @@
       # 
       # You can specify a list of up to five ports, which can be non-contiguous.
       # 
-      # For Internal TCP/UDP Load Balancing, if you specify allPorts, you should not specify ports.
+      # Forwarding rules with the same [IPAddress, IPProtocol] pair must have disjoint ports.
       # 
       # For more information, see [Port specifications](/load-balancing/docs/forwarding-rule-concepts#port_specifications).
     &quot;A String&quot;,
@@ -641,17 +657,19 @@
           # For Private Service Connect forwarding rules that forward traffic to Google APIs, IP address must be provided.
       &quot;IPProtocol&quot;: &quot;A String&quot;, # The IP protocol to which this rule applies.
           #
-          # For protocol forwarding, valid options are TCP, UDP, ESP, AH, SCTP and ICMP.
+          # For protocol forwarding, valid options are TCP, UDP, ESP, AH, SCTP, ICMP and L3_DEFAULT.
           #
           # The valid IP protocols are different for different load balancing products:
-          # - Internal TCP/UDP Load Balancing: The load balancing scheme is INTERNAL, and one of TCP, UDP or ALL is valid.
+          # - Internal TCP/UDP Load Balancing: The load balancing scheme is INTERNAL, and one of TCP, UDP or L3_DEFAULT is valid.
           # - Traffic Director: The load balancing scheme is INTERNAL_SELF_MANAGED, and only TCP is valid.
           # - Internal HTTP(S) Load Balancing: The load balancing scheme is INTERNAL_MANAGED, and only TCP is valid.
           # - HTTP(S), SSL Proxy, and TCP Proxy Load Balancing: The load balancing scheme is EXTERNAL and only TCP is valid.
-          # - Network Load Balancing: The load balancing scheme is EXTERNAL, and one of TCP or UDP is valid.
-      &quot;allPorts&quot;: True or False, # This field is used along with the backend_service field for internal load balancing or with the target field for internal TargetInstance. This field cannot be used with port or portRange fields.
+          # - Network Load Balancing: The load balancing scheme is EXTERNAL, and one of TCP, UDP or L3_DEFAULT is valid.
+      &quot;allPorts&quot;: True or False, # This field is used along with the backend_service field for Internal TCP/UDP Load Balancing or Network Load Balancing, or with the target field for internal and external TargetInstance.
           #
-          # When the load balancing scheme is INTERNAL and protocol is TCP/UDP, specify this field to allow packets addressed to any ports will be forwarded to the backends configured with this forwarding rule.
+          # You can only use one of ports and port_range, or allPorts. The three are mutually exclusive.
+          #
+          # For TCP, UDP and SCTP traffic, packets addressed to any ports will be forwarded to the target or backendService.
       &quot;allowGlobalAccess&quot;: True or False, # This field is used along with the backend_service field for internal load balancing or with the target field for internal TargetInstance. If the field is set to TRUE, clients can access ILB from all regions. Otherwise only allows access from clients in the same region as the internal load balancer.
       &quot;backendService&quot;: &quot;A String&quot;, # Identifies the backend service to which the forwarding rule sends traffic. Required for Internal TCP/UDP Load Balancing and Network Load Balancing; must be omitted for all other load balancer types.
       &quot;creationTimestamp&quot;: &quot;A String&quot;, # [Output Only] Creation timestamp in RFC3339 text format.
@@ -718,9 +736,15 @@
           # For regional ForwardingRule, the valid values are PREMIUM and STANDARD. For GlobalForwardingRule, the valid value is PREMIUM.
           #
           # If this field is not specified, it is assumed to be PREMIUM. If IPAddress is specified, this value must be equal to the networkTier of the Address.
-      &quot;portRange&quot;: &quot;A String&quot;, # This field can be used only if: * Load balancing scheme is one of EXTERNAL,  INTERNAL_SELF_MANAGED or INTERNAL_MANAGED, and * IPProtocol is one of TCP, UDP, or SCTP.
+      &quot;portRange&quot;: &quot;A String&quot;, # This field can be used only if:
+          # - Load balancing scheme is one of EXTERNAL,  INTERNAL_SELF_MANAGED or INTERNAL_MANAGED
+          # - IPProtocol is one of TCP, UDP, or SCTP.
           #
-          # Packets addressed to ports in the specified range will be forwarded to target or  backend_service. You can only use one of ports, port_range, or allPorts. The three are mutually exclusive. Forwarding rules with the same [IPAddress, IPProtocol] pair must have disjoint port ranges.
+          # Packets addressed to ports in the specified range will be forwarded to target or  backend_service.
+          #
+          # You can only use one of ports, port_range, or allPorts. The three are mutually exclusive.
+          #
+          # Forwarding rules with the same [IPAddress, IPProtocol] pair must have disjoint ports.
           #
           # Some types of forwarding target have constraints on the acceptable ports:
           # - TargetHttpProxy: 80, 8080
@@ -735,7 +759,7 @@
           #
           # You can specify a list of up to five ports, which can be non-contiguous.
           #
-          # For Internal TCP/UDP Load Balancing, if you specify allPorts, you should not specify ports.
+          # Forwarding rules with the same [IPAddress, IPProtocol] pair must have disjoint ports.
           #
           # For more information, see [Port specifications](/load-balancing/docs/forwarding-rule-concepts#port_specifications).
         &quot;A String&quot;,
@@ -837,17 +861,19 @@
       # For Private Service Connect forwarding rules that forward traffic to Google APIs, IP address must be provided.
   &quot;IPProtocol&quot;: &quot;A String&quot;, # The IP protocol to which this rule applies.
       # 
-      # For protocol forwarding, valid options are TCP, UDP, ESP, AH, SCTP and ICMP.
+      # For protocol forwarding, valid options are TCP, UDP, ESP, AH, SCTP, ICMP and L3_DEFAULT.
       # 
       # The valid IP protocols are different for different load balancing products:
-      # - Internal TCP/UDP Load Balancing: The load balancing scheme is INTERNAL, and one of TCP, UDP or ALL is valid.
+      # - Internal TCP/UDP Load Balancing: The load balancing scheme is INTERNAL, and one of TCP, UDP or L3_DEFAULT is valid.
       # - Traffic Director: The load balancing scheme is INTERNAL_SELF_MANAGED, and only TCP is valid.
       # - Internal HTTP(S) Load Balancing: The load balancing scheme is INTERNAL_MANAGED, and only TCP is valid.
       # - HTTP(S), SSL Proxy, and TCP Proxy Load Balancing: The load balancing scheme is EXTERNAL and only TCP is valid.
-      # - Network Load Balancing: The load balancing scheme is EXTERNAL, and one of TCP or UDP is valid.
-  &quot;allPorts&quot;: True or False, # This field is used along with the backend_service field for internal load balancing or with the target field for internal TargetInstance. This field cannot be used with port or portRange fields.
+      # - Network Load Balancing: The load balancing scheme is EXTERNAL, and one of TCP, UDP or L3_DEFAULT is valid.
+  &quot;allPorts&quot;: True or False, # This field is used along with the backend_service field for Internal TCP/UDP Load Balancing or Network Load Balancing, or with the target field for internal and external TargetInstance.
       # 
-      # When the load balancing scheme is INTERNAL and protocol is TCP/UDP, specify this field to allow packets addressed to any ports will be forwarded to the backends configured with this forwarding rule.
+      # You can only use one of ports and port_range, or allPorts. The three are mutually exclusive.
+      # 
+      # For TCP, UDP and SCTP traffic, packets addressed to any ports will be forwarded to the target or backendService.
   &quot;allowGlobalAccess&quot;: True or False, # This field is used along with the backend_service field for internal load balancing or with the target field for internal TargetInstance. If the field is set to TRUE, clients can access ILB from all regions. Otherwise only allows access from clients in the same region as the internal load balancer.
   &quot;backendService&quot;: &quot;A String&quot;, # Identifies the backend service to which the forwarding rule sends traffic. Required for Internal TCP/UDP Load Balancing and Network Load Balancing; must be omitted for all other load balancer types.
   &quot;creationTimestamp&quot;: &quot;A String&quot;, # [Output Only] Creation timestamp in RFC3339 text format.
@@ -914,9 +940,15 @@
       # For regional ForwardingRule, the valid values are PREMIUM and STANDARD. For GlobalForwardingRule, the valid value is PREMIUM.
       # 
       # If this field is not specified, it is assumed to be PREMIUM. If IPAddress is specified, this value must be equal to the networkTier of the Address.
-  &quot;portRange&quot;: &quot;A String&quot;, # This field can be used only if: * Load balancing scheme is one of EXTERNAL,  INTERNAL_SELF_MANAGED or INTERNAL_MANAGED, and * IPProtocol is one of TCP, UDP, or SCTP.
+  &quot;portRange&quot;: &quot;A String&quot;, # This field can be used only if:
+      # - Load balancing scheme is one of EXTERNAL,  INTERNAL_SELF_MANAGED or INTERNAL_MANAGED
+      # - IPProtocol is one of TCP, UDP, or SCTP.
       # 
-      # Packets addressed to ports in the specified range will be forwarded to target or  backend_service. You can only use one of ports, port_range, or allPorts. The three are mutually exclusive. Forwarding rules with the same [IPAddress, IPProtocol] pair must have disjoint port ranges.
+      # Packets addressed to ports in the specified range will be forwarded to target or  backend_service.
+      # 
+      # You can only use one of ports, port_range, or allPorts. The three are mutually exclusive.
+      # 
+      # Forwarding rules with the same [IPAddress, IPProtocol] pair must have disjoint ports.
       # 
       # Some types of forwarding target have constraints on the acceptable ports:
       # - TargetHttpProxy: 80, 8080
@@ -931,7 +963,7 @@
       # 
       # You can specify a list of up to five ports, which can be non-contiguous.
       # 
-      # For Internal TCP/UDP Load Balancing, if you specify allPorts, you should not specify ports.
+      # Forwarding rules with the same [IPAddress, IPProtocol] pair must have disjoint ports.
       # 
       # For more information, see [Port specifications](/load-balancing/docs/forwarding-rule-concepts#port_specifications).
     &quot;A String&quot;,
diff --git a/docs/dyn/compute_v1.images.html b/docs/dyn/compute_v1.images.html
index 939a7d5..27692a5 100644
--- a/docs/dyn/compute_v1.images.html
+++ b/docs/dyn/compute_v1.images.html
@@ -347,7 +347,13 @@
   &quot;rawDisk&quot;: { # The parameters of the raw disk image.
     &quot;containerType&quot;: &quot;A String&quot;, # The format used to encode and transmit the block device, which should be TAR. This is just a container and transmission format and not a runtime format. Provided by the client when the disk image is created.
     &quot;sha1Checksum&quot;: &quot;A String&quot;, # [Deprecated] This field is deprecated. An optional SHA1 checksum of the disk image before unpackaging provided by the client when the disk image is created.
-    &quot;source&quot;: &quot;A String&quot;, # The full Google Cloud Storage URL where the disk image is stored. You must provide either this property or the sourceDisk property but not both.
+    &quot;source&quot;: &quot;A String&quot;, # The full Google Cloud Storage URL where the disk image is stored.
+        #
+        # In order to create an image, you must provide the full or partial URL of one of the following:
+        # - The rawDisk.source URL
+        # - The sourceDisk URL
+        # - The sourceImage URL
+        # - The sourceSnapshot URL
   },
   &quot;satisfiesPzs&quot;: True or False, # [Output Only] Reserved for future use.
   &quot;selfLink&quot;: &quot;A String&quot;, # [Output Only] Server-defined URL for the resource.
@@ -375,10 +381,16 @@
       &quot;fileType&quot;: &quot;A String&quot;, # The file type of source file.
     },
   },
-  &quot;sourceDisk&quot;: &quot;A String&quot;, # URL of the source disk used to create this image. This can be a full or valid partial URL. You must provide either this property or the rawDisk.source property but not both to create an image. For example, the following are valid values:
+  &quot;sourceDisk&quot;: &quot;A String&quot;, # URL of the source disk used to create this image. For example, the following are valid values:
       # - https://www.googleapis.com/compute/v1/projects/project/zones/zone/disks/disk
       # - projects/project/zones/zone/disks/disk
       # - zones/zone/disks/disk
+      #
+      # In order to create an image, you must provide the full or partial URL of one of the following:
+      # - The rawDisk.source URL
+      # - The sourceDisk URL
+      # - The sourceImage URL
+      # - The sourceSnapshot URL
   &quot;sourceDiskEncryptionKey&quot;: { # The customer-supplied encryption key of the source disk. Required if the source disk is protected by a customer-supplied encryption key.
     &quot;kmsKeyName&quot;: &quot;A String&quot;, # The name of the encryption key that is stored in Google Cloud KMS.
     &quot;kmsKeyServiceAccount&quot;: &quot;A String&quot;, # The service account being used for the encryption request for the given KMS key. If absent, the Compute Engine default service account is used.
@@ -389,10 +401,10 @@
   &quot;sourceImage&quot;: &quot;A String&quot;, # URL of the source image used to create this image.
       #
       # In order to create an image, you must provide the full or partial URL of one of the following:
-      # - The selfLink URL
-      # - This property
       # - The rawDisk.source URL
       # - The sourceDisk URL
+      # - The sourceImage URL
+      # - The sourceSnapshot URL
   &quot;sourceImageEncryptionKey&quot;: { # The customer-supplied encryption key of the source image. Required if the source image is protected by a customer-supplied encryption key.
     &quot;kmsKeyName&quot;: &quot;A String&quot;, # The name of the encryption key that is stored in Google Cloud KMS.
     &quot;kmsKeyServiceAccount&quot;: &quot;A String&quot;, # The service account being used for the encryption request for the given KMS key. If absent, the Compute Engine default service account is used.
@@ -403,11 +415,10 @@
   &quot;sourceSnapshot&quot;: &quot;A String&quot;, # URL of the source snapshot used to create this image.
       #
       # In order to create an image, you must provide the full or partial URL of one of the following:
-      # - The selfLink URL
-      # - This property
-      # - The sourceImage URL
       # - The rawDisk.source URL
       # - The sourceDisk URL
+      # - The sourceImage URL
+      # - The sourceSnapshot URL
   &quot;sourceSnapshotEncryptionKey&quot;: { # The customer-supplied encryption key of the source snapshot. Required if the source snapshot is protected by a customer-supplied encryption key.
     &quot;kmsKeyName&quot;: &quot;A String&quot;, # The name of the encryption key that is stored in Google Cloud KMS.
     &quot;kmsKeyServiceAccount&quot;: &quot;A String&quot;, # The service account being used for the encryption request for the given KMS key. If absent, the Compute Engine default service account is used.
@@ -484,7 +495,13 @@
   &quot;rawDisk&quot;: { # The parameters of the raw disk image.
     &quot;containerType&quot;: &quot;A String&quot;, # The format used to encode and transmit the block device, which should be TAR. This is just a container and transmission format and not a runtime format. Provided by the client when the disk image is created.
     &quot;sha1Checksum&quot;: &quot;A String&quot;, # [Deprecated] This field is deprecated. An optional SHA1 checksum of the disk image before unpackaging provided by the client when the disk image is created.
-    &quot;source&quot;: &quot;A String&quot;, # The full Google Cloud Storage URL where the disk image is stored. You must provide either this property or the sourceDisk property but not both.
+    &quot;source&quot;: &quot;A String&quot;, # The full Google Cloud Storage URL where the disk image is stored.
+        #
+        # In order to create an image, you must provide the full or partial URL of one of the following:
+        # - The rawDisk.source URL
+        # - The sourceDisk URL
+        # - The sourceImage URL
+        # - The sourceSnapshot URL
   },
   &quot;satisfiesPzs&quot;: True or False, # [Output Only] Reserved for future use.
   &quot;selfLink&quot;: &quot;A String&quot;, # [Output Only] Server-defined URL for the resource.
@@ -512,10 +529,16 @@
       &quot;fileType&quot;: &quot;A String&quot;, # The file type of source file.
     },
   },
-  &quot;sourceDisk&quot;: &quot;A String&quot;, # URL of the source disk used to create this image. This can be a full or valid partial URL. You must provide either this property or the rawDisk.source property but not both to create an image. For example, the following are valid values:
+  &quot;sourceDisk&quot;: &quot;A String&quot;, # URL of the source disk used to create this image. For example, the following are valid values:
       # - https://www.googleapis.com/compute/v1/projects/project/zones/zone/disks/disk
       # - projects/project/zones/zone/disks/disk
       # - zones/zone/disks/disk
+      #
+      # In order to create an image, you must provide the full or partial URL of one of the following:
+      # - The rawDisk.source URL
+      # - The sourceDisk URL
+      # - The sourceImage URL
+      # - The sourceSnapshot URL
   &quot;sourceDiskEncryptionKey&quot;: { # The customer-supplied encryption key of the source disk. Required if the source disk is protected by a customer-supplied encryption key.
     &quot;kmsKeyName&quot;: &quot;A String&quot;, # The name of the encryption key that is stored in Google Cloud KMS.
     &quot;kmsKeyServiceAccount&quot;: &quot;A String&quot;, # The service account being used for the encryption request for the given KMS key. If absent, the Compute Engine default service account is used.
@@ -526,10 +549,10 @@
   &quot;sourceImage&quot;: &quot;A String&quot;, # URL of the source image used to create this image.
       #
       # In order to create an image, you must provide the full or partial URL of one of the following:
-      # - The selfLink URL
-      # - This property
       # - The rawDisk.source URL
       # - The sourceDisk URL
+      # - The sourceImage URL
+      # - The sourceSnapshot URL
   &quot;sourceImageEncryptionKey&quot;: { # The customer-supplied encryption key of the source image. Required if the source image is protected by a customer-supplied encryption key.
     &quot;kmsKeyName&quot;: &quot;A String&quot;, # The name of the encryption key that is stored in Google Cloud KMS.
     &quot;kmsKeyServiceAccount&quot;: &quot;A String&quot;, # The service account being used for the encryption request for the given KMS key. If absent, the Compute Engine default service account is used.
@@ -540,11 +563,10 @@
   &quot;sourceSnapshot&quot;: &quot;A String&quot;, # URL of the source snapshot used to create this image.
       #
       # In order to create an image, you must provide the full or partial URL of one of the following:
-      # - The selfLink URL
-      # - This property
-      # - The sourceImage URL
       # - The rawDisk.source URL
       # - The sourceDisk URL
+      # - The sourceImage URL
+      # - The sourceSnapshot URL
   &quot;sourceSnapshotEncryptionKey&quot;: { # The customer-supplied encryption key of the source snapshot. Required if the source snapshot is protected by a customer-supplied encryption key.
     &quot;kmsKeyName&quot;: &quot;A String&quot;, # The name of the encryption key that is stored in Google Cloud KMS.
     &quot;kmsKeyServiceAccount&quot;: &quot;A String&quot;, # The service account being used for the encryption request for the given KMS key. If absent, the Compute Engine default service account is used.
@@ -815,7 +837,13 @@
   &quot;rawDisk&quot;: { # The parameters of the raw disk image.
     &quot;containerType&quot;: &quot;A String&quot;, # The format used to encode and transmit the block device, which should be TAR. This is just a container and transmission format and not a runtime format. Provided by the client when the disk image is created.
     &quot;sha1Checksum&quot;: &quot;A String&quot;, # [Deprecated] This field is deprecated. An optional SHA1 checksum of the disk image before unpackaging provided by the client when the disk image is created.
-    &quot;source&quot;: &quot;A String&quot;, # The full Google Cloud Storage URL where the disk image is stored. You must provide either this property or the sourceDisk property but not both.
+    &quot;source&quot;: &quot;A String&quot;, # The full Google Cloud Storage URL where the disk image is stored.
+        # 
+        # In order to create an image, you must provide the full or partial URL of one of the following:
+        # - The rawDisk.source URL
+        # - The sourceDisk URL
+        # - The sourceImage URL
+        # - The sourceSnapshot URL
   },
   &quot;satisfiesPzs&quot;: True or False, # [Output Only] Reserved for future use.
   &quot;selfLink&quot;: &quot;A String&quot;, # [Output Only] Server-defined URL for the resource.
@@ -843,10 +871,16 @@
       &quot;fileType&quot;: &quot;A String&quot;, # The file type of source file.
     },
   },
-  &quot;sourceDisk&quot;: &quot;A String&quot;, # URL of the source disk used to create this image. This can be a full or valid partial URL. You must provide either this property or the rawDisk.source property but not both to create an image. For example, the following are valid values:
+  &quot;sourceDisk&quot;: &quot;A String&quot;, # URL of the source disk used to create this image. For example, the following are valid values:
       # - https://www.googleapis.com/compute/v1/projects/project/zones/zone/disks/disk
       # - projects/project/zones/zone/disks/disk
       # - zones/zone/disks/disk
+      # 
+      # In order to create an image, you must provide the full or partial URL of one of the following:
+      # - The rawDisk.source URL
+      # - The sourceDisk URL
+      # - The sourceImage URL
+      # - The sourceSnapshot URL
   &quot;sourceDiskEncryptionKey&quot;: { # The customer-supplied encryption key of the source disk. Required if the source disk is protected by a customer-supplied encryption key.
     &quot;kmsKeyName&quot;: &quot;A String&quot;, # The name of the encryption key that is stored in Google Cloud KMS.
     &quot;kmsKeyServiceAccount&quot;: &quot;A String&quot;, # The service account being used for the encryption request for the given KMS key. If absent, the Compute Engine default service account is used.
@@ -857,10 +891,10 @@
   &quot;sourceImage&quot;: &quot;A String&quot;, # URL of the source image used to create this image.
       # 
       # In order to create an image, you must provide the full or partial URL of one of the following:
-      # - The selfLink URL
-      # - This property
       # - The rawDisk.source URL
       # - The sourceDisk URL
+      # - The sourceImage URL
+      # - The sourceSnapshot URL
   &quot;sourceImageEncryptionKey&quot;: { # The customer-supplied encryption key of the source image. Required if the source image is protected by a customer-supplied encryption key.
     &quot;kmsKeyName&quot;: &quot;A String&quot;, # The name of the encryption key that is stored in Google Cloud KMS.
     &quot;kmsKeyServiceAccount&quot;: &quot;A String&quot;, # The service account being used for the encryption request for the given KMS key. If absent, the Compute Engine default service account is used.
@@ -871,11 +905,10 @@
   &quot;sourceSnapshot&quot;: &quot;A String&quot;, # URL of the source snapshot used to create this image.
       # 
       # In order to create an image, you must provide the full or partial URL of one of the following:
-      # - The selfLink URL
-      # - This property
-      # - The sourceImage URL
       # - The rawDisk.source URL
       # - The sourceDisk URL
+      # - The sourceImage URL
+      # - The sourceSnapshot URL
   &quot;sourceSnapshotEncryptionKey&quot;: { # The customer-supplied encryption key of the source snapshot. Required if the source snapshot is protected by a customer-supplied encryption key.
     &quot;kmsKeyName&quot;: &quot;A String&quot;, # The name of the encryption key that is stored in Google Cloud KMS.
     &quot;kmsKeyServiceAccount&quot;: &quot;A String&quot;, # The service account being used for the encryption request for the given KMS key. If absent, the Compute Engine default service account is used.
@@ -1039,7 +1072,13 @@
       &quot;rawDisk&quot;: { # The parameters of the raw disk image.
         &quot;containerType&quot;: &quot;A String&quot;, # The format used to encode and transmit the block device, which should be TAR. This is just a container and transmission format and not a runtime format. Provided by the client when the disk image is created.
         &quot;sha1Checksum&quot;: &quot;A String&quot;, # [Deprecated] This field is deprecated. An optional SHA1 checksum of the disk image before unpackaging provided by the client when the disk image is created.
-        &quot;source&quot;: &quot;A String&quot;, # The full Google Cloud Storage URL where the disk image is stored. You must provide either this property or the sourceDisk property but not both.
+        &quot;source&quot;: &quot;A String&quot;, # The full Google Cloud Storage URL where the disk image is stored.
+            #
+            # In order to create an image, you must provide the full or partial URL of one of the following:
+            # - The rawDisk.source URL
+            # - The sourceDisk URL
+            # - The sourceImage URL
+            # - The sourceSnapshot URL
       },
       &quot;satisfiesPzs&quot;: True or False, # [Output Only] Reserved for future use.
       &quot;selfLink&quot;: &quot;A String&quot;, # [Output Only] Server-defined URL for the resource.
@@ -1067,10 +1106,16 @@
           &quot;fileType&quot;: &quot;A String&quot;, # The file type of source file.
         },
       },
-      &quot;sourceDisk&quot;: &quot;A String&quot;, # URL of the source disk used to create this image. This can be a full or valid partial URL. You must provide either this property or the rawDisk.source property but not both to create an image. For example, the following are valid values:
+      &quot;sourceDisk&quot;: &quot;A String&quot;, # URL of the source disk used to create this image. For example, the following are valid values:
           # - https://www.googleapis.com/compute/v1/projects/project/zones/zone/disks/disk
           # - projects/project/zones/zone/disks/disk
           # - zones/zone/disks/disk
+          #
+          # In order to create an image, you must provide the full or partial URL of one of the following:
+          # - The rawDisk.source URL
+          # - The sourceDisk URL
+          # - The sourceImage URL
+          # - The sourceSnapshot URL
       &quot;sourceDiskEncryptionKey&quot;: { # The customer-supplied encryption key of the source disk. Required if the source disk is protected by a customer-supplied encryption key.
         &quot;kmsKeyName&quot;: &quot;A String&quot;, # The name of the encryption key that is stored in Google Cloud KMS.
         &quot;kmsKeyServiceAccount&quot;: &quot;A String&quot;, # The service account being used for the encryption request for the given KMS key. If absent, the Compute Engine default service account is used.
@@ -1081,10 +1126,10 @@
       &quot;sourceImage&quot;: &quot;A String&quot;, # URL of the source image used to create this image.
           #
           # In order to create an image, you must provide the full or partial URL of one of the following:
-          # - The selfLink URL
-          # - This property
           # - The rawDisk.source URL
           # - The sourceDisk URL
+          # - The sourceImage URL
+          # - The sourceSnapshot URL
       &quot;sourceImageEncryptionKey&quot;: { # The customer-supplied encryption key of the source image. Required if the source image is protected by a customer-supplied encryption key.
         &quot;kmsKeyName&quot;: &quot;A String&quot;, # The name of the encryption key that is stored in Google Cloud KMS.
         &quot;kmsKeyServiceAccount&quot;: &quot;A String&quot;, # The service account being used for the encryption request for the given KMS key. If absent, the Compute Engine default service account is used.
@@ -1095,11 +1140,10 @@
       &quot;sourceSnapshot&quot;: &quot;A String&quot;, # URL of the source snapshot used to create this image.
           #
           # In order to create an image, you must provide the full or partial URL of one of the following:
-          # - The selfLink URL
-          # - This property
-          # - The sourceImage URL
           # - The rawDisk.source URL
           # - The sourceDisk URL
+          # - The sourceImage URL
+          # - The sourceSnapshot URL
       &quot;sourceSnapshotEncryptionKey&quot;: { # The customer-supplied encryption key of the source snapshot. Required if the source snapshot is protected by a customer-supplied encryption key.
         &quot;kmsKeyName&quot;: &quot;A String&quot;, # The name of the encryption key that is stored in Google Cloud KMS.
         &quot;kmsKeyServiceAccount&quot;: &quot;A String&quot;, # The service account being used for the encryption request for the given KMS key. If absent, the Compute Engine default service account is used.
@@ -1205,7 +1249,13 @@
   &quot;rawDisk&quot;: { # The parameters of the raw disk image.
     &quot;containerType&quot;: &quot;A String&quot;, # The format used to encode and transmit the block device, which should be TAR. This is just a container and transmission format and not a runtime format. Provided by the client when the disk image is created.
     &quot;sha1Checksum&quot;: &quot;A String&quot;, # [Deprecated] This field is deprecated. An optional SHA1 checksum of the disk image before unpackaging provided by the client when the disk image is created.
-    &quot;source&quot;: &quot;A String&quot;, # The full Google Cloud Storage URL where the disk image is stored. You must provide either this property or the sourceDisk property but not both.
+    &quot;source&quot;: &quot;A String&quot;, # The full Google Cloud Storage URL where the disk image is stored.
+        # 
+        # In order to create an image, you must provide the full or partial URL of one of the following:
+        # - The rawDisk.source URL
+        # - The sourceDisk URL
+        # - The sourceImage URL
+        # - The sourceSnapshot URL
   },
   &quot;satisfiesPzs&quot;: True or False, # [Output Only] Reserved for future use.
   &quot;selfLink&quot;: &quot;A String&quot;, # [Output Only] Server-defined URL for the resource.
@@ -1233,10 +1283,16 @@
       &quot;fileType&quot;: &quot;A String&quot;, # The file type of source file.
     },
   },
-  &quot;sourceDisk&quot;: &quot;A String&quot;, # URL of the source disk used to create this image. This can be a full or valid partial URL. You must provide either this property or the rawDisk.source property but not both to create an image. For example, the following are valid values:
+  &quot;sourceDisk&quot;: &quot;A String&quot;, # URL of the source disk used to create this image. For example, the following are valid values:
       # - https://www.googleapis.com/compute/v1/projects/project/zones/zone/disks/disk
       # - projects/project/zones/zone/disks/disk
       # - zones/zone/disks/disk
+      # 
+      # In order to create an image, you must provide the full or partial URL of one of the following:
+      # - The rawDisk.source URL
+      # - The sourceDisk URL
+      # - The sourceImage URL
+      # - The sourceSnapshot URL
   &quot;sourceDiskEncryptionKey&quot;: { # The customer-supplied encryption key of the source disk. Required if the source disk is protected by a customer-supplied encryption key.
     &quot;kmsKeyName&quot;: &quot;A String&quot;, # The name of the encryption key that is stored in Google Cloud KMS.
     &quot;kmsKeyServiceAccount&quot;: &quot;A String&quot;, # The service account being used for the encryption request for the given KMS key. If absent, the Compute Engine default service account is used.
@@ -1247,10 +1303,10 @@
   &quot;sourceImage&quot;: &quot;A String&quot;, # URL of the source image used to create this image.
       # 
       # In order to create an image, you must provide the full or partial URL of one of the following:
-      # - The selfLink URL
-      # - This property
       # - The rawDisk.source URL
       # - The sourceDisk URL
+      # - The sourceImage URL
+      # - The sourceSnapshot URL
   &quot;sourceImageEncryptionKey&quot;: { # The customer-supplied encryption key of the source image. Required if the source image is protected by a customer-supplied encryption key.
     &quot;kmsKeyName&quot;: &quot;A String&quot;, # The name of the encryption key that is stored in Google Cloud KMS.
     &quot;kmsKeyServiceAccount&quot;: &quot;A String&quot;, # The service account being used for the encryption request for the given KMS key. If absent, the Compute Engine default service account is used.
@@ -1261,11 +1317,10 @@
   &quot;sourceSnapshot&quot;: &quot;A String&quot;, # URL of the source snapshot used to create this image.
       # 
       # In order to create an image, you must provide the full or partial URL of one of the following:
-      # - The selfLink URL
-      # - This property
-      # - The sourceImage URL
       # - The rawDisk.source URL
       # - The sourceDisk URL
+      # - The sourceImage URL
+      # - The sourceSnapshot URL
   &quot;sourceSnapshotEncryptionKey&quot;: { # The customer-supplied encryption key of the source snapshot. Required if the source snapshot is protected by a customer-supplied encryption key.
     &quot;kmsKeyName&quot;: &quot;A String&quot;, # The name of the encryption key that is stored in Google Cloud KMS.
     &quot;kmsKeyServiceAccount&quot;: &quot;A String&quot;, # The service account being used for the encryption request for the given KMS key. If absent, the Compute Engine default service account is used.
diff --git a/docs/dyn/compute_v1.instanceGroupManagers.html b/docs/dyn/compute_v1.instanceGroupManagers.html
index bb47e84..2d9ecdf 100644
--- a/docs/dyn/compute_v1.instanceGroupManagers.html
+++ b/docs/dyn/compute_v1.instanceGroupManagers.html
@@ -275,7 +275,9 @@
   &quot;items&quot;: { # A list of InstanceGroupManagersScopedList resources.
     &quot;a_key&quot;: { # [Output Only] The name of the scope that contains this set of managed instance groups.
       &quot;instanceGroupManagers&quot;: [ # [Output Only] The list of managed instance groups that are contained in the specified project and zone.
-        { # Represents a Managed Instance Group resource.
+        { # Whether the instance is a standby. Properties of a standby instance comparing to the regular instance: ========================================================================= | regular | standby ========================================================================= managed by IGM? | yes | yes added to the IG? | yes | yes counts towards IGM&#x27;s target size? | yes | no taken into account by Autoscaler? | yes | no receives traffic from LB? | yes | no =========================================================================
+            #
+            # Represents a Managed Instance Group resource.
             #
             # An instance group is a collection of VM instances that you can manage as a single entity. For more information, read Instance groups.
             #
@@ -921,7 +923,9 @@
 Returns:
   An object of the form:
 
-    { # Represents a Managed Instance Group resource.
+    { # Whether the instance is a standby. Properties of a standby instance comparing to the regular instance: ========================================================================= | regular | standby ========================================================================= managed by IGM? | yes | yes added to the IG? | yes | yes counts towards IGM&#x27;s target size? | yes | no taken into account by Autoscaler? | yes | no receives traffic from LB? | yes | no =========================================================================
+    #
+    # Represents a Managed Instance Group resource.
     #
     # An instance group is a collection of VM instances that you can manage as a single entity. For more information, read Instance groups.
     #
@@ -1069,7 +1073,9 @@
   body: object, The request body.
     The object takes the form of:
 
-{ # Represents a Managed Instance Group resource.
+{ # Whether the instance is a standby. Properties of a standby instance comparing to the regular instance: ========================================================================= | regular | standby ========================================================================= managed by IGM? | yes | yes added to the IG? | yes | yes counts towards IGM&#x27;s target size? | yes | no taken into account by Autoscaler? | yes | no receives traffic from LB? | yes | no =========================================================================
+    # 
+    # Represents a Managed Instance Group resource.
     # 
     # An instance group is a collection of VM instances that you can manage as a single entity. For more information, read Instance groups.
     # 
@@ -1303,7 +1309,9 @@
     { # [Output Only] A list of managed instance groups.
   &quot;id&quot;: &quot;A String&quot;, # [Output Only] Unique identifier for the resource; defined by the server.
   &quot;items&quot;: [ # A list of InstanceGroupManager resources.
-    { # Represents a Managed Instance Group resource.
+    { # Whether the instance is a standby. Properties of a standby instance comparing to the regular instance: ========================================================================= | regular | standby ========================================================================= managed by IGM? | yes | yes added to the IG? | yes | yes counts towards IGM&#x27;s target size? | yes | no taken into account by Autoscaler? | yes | no receives traffic from LB? | yes | no =========================================================================
+        #
+        # Represents a Managed Instance Group resource.
         #
         # An instance group is a collection of VM instances that you can manage as a single entity. For more information, read Instance groups.
         #
@@ -1727,7 +1735,9 @@
   body: object, The request body.
     The object takes the form of:
 
-{ # Represents a Managed Instance Group resource.
+{ # Whether the instance is a standby. Properties of a standby instance comparing to the regular instance: ========================================================================= | regular | standby ========================================================================= managed by IGM? | yes | yes added to the IG? | yes | yes counts towards IGM&#x27;s target size? | yes | no taken into account by Autoscaler? | yes | no receives traffic from LB? | yes | no =========================================================================
+    # 
+    # Represents a Managed Instance Group resource.
     # 
     # An instance group is a collection of VM instances that you can manage as a single entity. For more information, read Instance groups.
     # 
diff --git a/docs/dyn/compute_v1.instanceTemplates.html b/docs/dyn/compute_v1.instanceTemplates.html
index dee8125..531811f 100644
--- a/docs/dyn/compute_v1.instanceTemplates.html
+++ b/docs/dyn/compute_v1.instanceTemplates.html
@@ -371,6 +371,8 @@
       { # A network interface resource attached to an instance.
         &quot;accessConfigs&quot;: [ # An array of configurations for this interface. Currently, only one access config, ONE_TO_ONE_NAT, is supported. If there are no accessConfigs specified, then this instance will have no external internet access.
           { # An access configuration attached to an instance&#x27;s network interface. Only one access config per instance is supported.
+            &quot;externalIpv6&quot;: &quot;A String&quot;, # [Output Only] The first IPv6 address of the external IPv6 range associated with this instance, prefix length is stored in externalIpv6PrefixLength in ipv6AccessConfig. The field is output only, an IPv6 address from a subnetwork associated with the instance will be allocated dynamically.
+            &quot;externalIpv6PrefixLength&quot;: 42, # [Output Only] The prefix length of the external IPv6 range.
             &quot;kind&quot;: &quot;compute#accessConfig&quot;, # [Output Only] Type of the resource. Always compute#accessConfig for access configs.
             &quot;name&quot;: &quot;A String&quot;, # The name of this access configuration. The default and recommended name is External NAT, but you can use any arbitrary string, such as My external IP or Network Access.
             &quot;natIP&quot;: &quot;A String&quot;, # An external IP address associated with this instance. Specify an unused static external IP address available to the project or leave this field undefined to use an IP from a shared ephemeral IP address pool. If you specify a static external IP address, it must live in the same region as the zone of the instance.
@@ -391,6 +393,26 @@
           },
         ],
         &quot;fingerprint&quot;: &quot;A String&quot;, # Fingerprint hash of contents stored in this network interface. This field will be ignored when inserting an Instance or adding a NetworkInterface. An up-to-date fingerprint must be provided in order to update the NetworkInterface. The request will fail with error 400 Bad Request if the fingerprint is not provided, or 412 Precondition Failed if the fingerprint is out of date.
+        &quot;ipv6AccessConfigs&quot;: [ # An array of IPv6 access configurations for this interface. Currently, only one IPv6 access config, DIRECT_IPV6, is supported. If there is no ipv6AccessConfig specified, then this instance will have no external IPv6 Internet access.
+          { # An access configuration attached to an instance&#x27;s network interface. Only one access config per instance is supported.
+            &quot;externalIpv6&quot;: &quot;A String&quot;, # [Output Only] The first IPv6 address of the external IPv6 range associated with this instance, prefix length is stored in externalIpv6PrefixLength in ipv6AccessConfig. The field is output only, an IPv6 address from a subnetwork associated with the instance will be allocated dynamically.
+            &quot;externalIpv6PrefixLength&quot;: 42, # [Output Only] The prefix length of the external IPv6 range.
+            &quot;kind&quot;: &quot;compute#accessConfig&quot;, # [Output Only] Type of the resource. Always compute#accessConfig for access configs.
+            &quot;name&quot;: &quot;A String&quot;, # The name of this access configuration. The default and recommended name is External NAT, but you can use any arbitrary string, such as My external IP or Network Access.
+            &quot;natIP&quot;: &quot;A String&quot;, # An external IP address associated with this instance. Specify an unused static external IP address available to the project or leave this field undefined to use an IP from a shared ephemeral IP address pool. If you specify a static external IP address, it must live in the same region as the zone of the instance.
+            &quot;networkTier&quot;: &quot;A String&quot;, # This signifies the networking tier used for configuring this access configuration and can only take the following values: PREMIUM, STANDARD.
+                #
+                # If an AccessConfig is specified without a valid external IP address, an ephemeral IP will be created with this networkTier.
+                #
+                # If an AccessConfig with a valid external IP address is specified, it must match that of the networkTier associated with the Address resource owning that IP.
+            &quot;publicPtrDomainName&quot;: &quot;A String&quot;, # The DNS domain name for the public PTR record. You can set this field only if the `setPublicPtr` field is enabled.
+            &quot;setPublicPtr&quot;: True or False, # Specifies whether a public DNS &#x27;PTR&#x27; record should be created to map the external IP address of the instance to a DNS domain name.
+            &quot;type&quot;: &quot;ONE_TO_ONE_NAT&quot;, # The type of configuration. The default and only option is ONE_TO_ONE_NAT.
+          },
+        ],
+        &quot;ipv6AccessType&quot;: &quot;A String&quot;, # [Output Only] One of EXTERNAL, INTERNAL to indicate whether the IP can be accessed from the Internet. This field is always inherited from its subnetwork.
+            #
+            # Valid only if stackType is IPV4_IPV6.
         &quot;ipv6Address&quot;: &quot;A String&quot;, # [Output Only] An IPv6 internal network address for this network interface.
         &quot;kind&quot;: &quot;compute#networkInterface&quot;, # [Output Only] Type of the resource. Always compute#networkInterface for network interfaces.
         &quot;name&quot;: &quot;A String&quot;, # [Output Only] The name of the network interface, which is generated by the server. For network devices, these are eth0, eth1, etc.
@@ -402,6 +424,9 @@
             # - global/networks/default
         &quot;networkIP&quot;: &quot;A String&quot;, # An IPv4 internal IP address to assign to the instance for this network interface. If not specified by the user, an unused internal IP is assigned by the system.
         &quot;nicType&quot;: &quot;A String&quot;, # The type of vNIC to be used on this interface. This may be gVNIC or VirtioNet.
+        &quot;stackType&quot;: &quot;A String&quot;, # The stack type for this network interface to identify whether the IPv6 feature is enabled or not. If not specified, IPV4_ONLY will be used.
+            #
+            # This field can be both set at instance creation and update network interface operations.
         &quot;subnetwork&quot;: &quot;A String&quot;, # The URL of the Subnetwork resource for this instance. If the network resource is in legacy mode, do not specify this field. If the network is in auto subnet mode, specifying the subnetwork is optional. If the network is in custom subnet mode, specifying the subnetwork is required. If you specify this field, you can specify the subnetwork as a full or partial URL. For example, the following are all valid URLs:
             # - https://www.googleapis.com/compute/v1/projects/project/regions/region/subnetworks/subnetwork
             # - regions/region/subnetworks/subnetwork
@@ -418,7 +443,7 @@
     &quot;resourcePolicies&quot;: [ # Resource policies (names, not ULRs) applied to instances created from these properties.
       &quot;A String&quot;,
     ],
-    &quot;scheduling&quot;: { # Sets the scheduling options for an Instance. NextID: 20 # Specifies the scheduling options for the instances that are created from these properties.
+    &quot;scheduling&quot;: { # Sets the scheduling options for an Instance. NextID: 21 # Specifies the scheduling options for the instances that are created from these properties.
       &quot;automaticRestart&quot;: True or False, # Specifies whether the instance should be automatically restarted if it is terminated by Compute Engine (not terminated by a user). You can only set the automatic restart option for standard instances. Preemptible instances cannot be automatically restarted.
           #
           # By default, this is set to true so an instance is automatically restarted if it is terminated by Compute Engine.
@@ -861,6 +886,8 @@
       { # A network interface resource attached to an instance.
         &quot;accessConfigs&quot;: [ # An array of configurations for this interface. Currently, only one access config, ONE_TO_ONE_NAT, is supported. If there are no accessConfigs specified, then this instance will have no external internet access.
           { # An access configuration attached to an instance&#x27;s network interface. Only one access config per instance is supported.
+            &quot;externalIpv6&quot;: &quot;A String&quot;, # [Output Only] The first IPv6 address of the external IPv6 range associated with this instance, prefix length is stored in externalIpv6PrefixLength in ipv6AccessConfig. The field is output only, an IPv6 address from a subnetwork associated with the instance will be allocated dynamically.
+            &quot;externalIpv6PrefixLength&quot;: 42, # [Output Only] The prefix length of the external IPv6 range.
             &quot;kind&quot;: &quot;compute#accessConfig&quot;, # [Output Only] Type of the resource. Always compute#accessConfig for access configs.
             &quot;name&quot;: &quot;A String&quot;, # The name of this access configuration. The default and recommended name is External NAT, but you can use any arbitrary string, such as My external IP or Network Access.
             &quot;natIP&quot;: &quot;A String&quot;, # An external IP address associated with this instance. Specify an unused static external IP address available to the project or leave this field undefined to use an IP from a shared ephemeral IP address pool. If you specify a static external IP address, it must live in the same region as the zone of the instance.
@@ -881,6 +908,26 @@
           },
         ],
         &quot;fingerprint&quot;: &quot;A String&quot;, # Fingerprint hash of contents stored in this network interface. This field will be ignored when inserting an Instance or adding a NetworkInterface. An up-to-date fingerprint must be provided in order to update the NetworkInterface. The request will fail with error 400 Bad Request if the fingerprint is not provided, or 412 Precondition Failed if the fingerprint is out of date.
+        &quot;ipv6AccessConfigs&quot;: [ # An array of IPv6 access configurations for this interface. Currently, only one IPv6 access config, DIRECT_IPV6, is supported. If there is no ipv6AccessConfig specified, then this instance will have no external IPv6 Internet access.
+          { # An access configuration attached to an instance&#x27;s network interface. Only one access config per instance is supported.
+            &quot;externalIpv6&quot;: &quot;A String&quot;, # [Output Only] The first IPv6 address of the external IPv6 range associated with this instance, prefix length is stored in externalIpv6PrefixLength in ipv6AccessConfig. The field is output only, an IPv6 address from a subnetwork associated with the instance will be allocated dynamically.
+            &quot;externalIpv6PrefixLength&quot;: 42, # [Output Only] The prefix length of the external IPv6 range.
+            &quot;kind&quot;: &quot;compute#accessConfig&quot;, # [Output Only] Type of the resource. Always compute#accessConfig for access configs.
+            &quot;name&quot;: &quot;A String&quot;, # The name of this access configuration. The default and recommended name is External NAT, but you can use any arbitrary string, such as My external IP or Network Access.
+            &quot;natIP&quot;: &quot;A String&quot;, # An external IP address associated with this instance. Specify an unused static external IP address available to the project or leave this field undefined to use an IP from a shared ephemeral IP address pool. If you specify a static external IP address, it must live in the same region as the zone of the instance.
+            &quot;networkTier&quot;: &quot;A String&quot;, # This signifies the networking tier used for configuring this access configuration and can only take the following values: PREMIUM, STANDARD.
+                #
+                # If an AccessConfig is specified without a valid external IP address, an ephemeral IP will be created with this networkTier.
+                #
+                # If an AccessConfig with a valid external IP address is specified, it must match that of the networkTier associated with the Address resource owning that IP.
+            &quot;publicPtrDomainName&quot;: &quot;A String&quot;, # The DNS domain name for the public PTR record. You can set this field only if the `setPublicPtr` field is enabled.
+            &quot;setPublicPtr&quot;: True or False, # Specifies whether a public DNS &#x27;PTR&#x27; record should be created to map the external IP address of the instance to a DNS domain name.
+            &quot;type&quot;: &quot;ONE_TO_ONE_NAT&quot;, # The type of configuration. The default and only option is ONE_TO_ONE_NAT.
+          },
+        ],
+        &quot;ipv6AccessType&quot;: &quot;A String&quot;, # [Output Only] One of EXTERNAL, INTERNAL to indicate whether the IP can be accessed from the Internet. This field is always inherited from its subnetwork.
+            #
+            # Valid only if stackType is IPV4_IPV6.
         &quot;ipv6Address&quot;: &quot;A String&quot;, # [Output Only] An IPv6 internal network address for this network interface.
         &quot;kind&quot;: &quot;compute#networkInterface&quot;, # [Output Only] Type of the resource. Always compute#networkInterface for network interfaces.
         &quot;name&quot;: &quot;A String&quot;, # [Output Only] The name of the network interface, which is generated by the server. For network devices, these are eth0, eth1, etc.
@@ -892,6 +939,9 @@
             # - global/networks/default
         &quot;networkIP&quot;: &quot;A String&quot;, # An IPv4 internal IP address to assign to the instance for this network interface. If not specified by the user, an unused internal IP is assigned by the system.
         &quot;nicType&quot;: &quot;A String&quot;, # The type of vNIC to be used on this interface. This may be gVNIC or VirtioNet.
+        &quot;stackType&quot;: &quot;A String&quot;, # The stack type for this network interface to identify whether the IPv6 feature is enabled or not. If not specified, IPV4_ONLY will be used.
+            #
+            # This field can be both set at instance creation and update network interface operations.
         &quot;subnetwork&quot;: &quot;A String&quot;, # The URL of the Subnetwork resource for this instance. If the network resource is in legacy mode, do not specify this field. If the network is in auto subnet mode, specifying the subnetwork is optional. If the network is in custom subnet mode, specifying the subnetwork is required. If you specify this field, you can specify the subnetwork as a full or partial URL. For example, the following are all valid URLs:
             # - https://www.googleapis.com/compute/v1/projects/project/regions/region/subnetworks/subnetwork
             # - regions/region/subnetworks/subnetwork
@@ -908,7 +958,7 @@
     &quot;resourcePolicies&quot;: [ # Resource policies (names, not ULRs) applied to instances created from these properties.
       &quot;A String&quot;,
     ],
-    &quot;scheduling&quot;: { # Sets the scheduling options for an Instance. NextID: 20 # Specifies the scheduling options for the instances that are created from these properties.
+    &quot;scheduling&quot;: { # Sets the scheduling options for an Instance. NextID: 21 # Specifies the scheduling options for the instances that are created from these properties.
       &quot;automaticRestart&quot;: True or False, # Specifies whether the instance should be automatically restarted if it is terminated by Compute Engine (not terminated by a user). You can only set the automatic restart option for standard instances. Preemptible instances cannot be automatically restarted.
           #
           # By default, this is set to true so an instance is automatically restarted if it is terminated by Compute Engine.
@@ -1243,6 +1293,8 @@
           { # A network interface resource attached to an instance.
             &quot;accessConfigs&quot;: [ # An array of configurations for this interface. Currently, only one access config, ONE_TO_ONE_NAT, is supported. If there are no accessConfigs specified, then this instance will have no external internet access.
               { # An access configuration attached to an instance&#x27;s network interface. Only one access config per instance is supported.
+                &quot;externalIpv6&quot;: &quot;A String&quot;, # [Output Only] The first IPv6 address of the external IPv6 range associated with this instance, prefix length is stored in externalIpv6PrefixLength in ipv6AccessConfig. The field is output only, an IPv6 address from a subnetwork associated with the instance will be allocated dynamically.
+                &quot;externalIpv6PrefixLength&quot;: 42, # [Output Only] The prefix length of the external IPv6 range.
                 &quot;kind&quot;: &quot;compute#accessConfig&quot;, # [Output Only] Type of the resource. Always compute#accessConfig for access configs.
                 &quot;name&quot;: &quot;A String&quot;, # The name of this access configuration. The default and recommended name is External NAT, but you can use any arbitrary string, such as My external IP or Network Access.
                 &quot;natIP&quot;: &quot;A String&quot;, # An external IP address associated with this instance. Specify an unused static external IP address available to the project or leave this field undefined to use an IP from a shared ephemeral IP address pool. If you specify a static external IP address, it must live in the same region as the zone of the instance.
@@ -1263,6 +1315,26 @@
               },
             ],
             &quot;fingerprint&quot;: &quot;A String&quot;, # Fingerprint hash of contents stored in this network interface. This field will be ignored when inserting an Instance or adding a NetworkInterface. An up-to-date fingerprint must be provided in order to update the NetworkInterface. The request will fail with error 400 Bad Request if the fingerprint is not provided, or 412 Precondition Failed if the fingerprint is out of date.
+            &quot;ipv6AccessConfigs&quot;: [ # An array of IPv6 access configurations for this interface. Currently, only one IPv6 access config, DIRECT_IPV6, is supported. If there is no ipv6AccessConfig specified, then this instance will have no external IPv6 Internet access.
+              { # An access configuration attached to an instance&#x27;s network interface. Only one access config per instance is supported.
+                &quot;externalIpv6&quot;: &quot;A String&quot;, # [Output Only] The first IPv6 address of the external IPv6 range associated with this instance, prefix length is stored in externalIpv6PrefixLength in ipv6AccessConfig. The field is output only, an IPv6 address from a subnetwork associated with the instance will be allocated dynamically.
+                &quot;externalIpv6PrefixLength&quot;: 42, # [Output Only] The prefix length of the external IPv6 range.
+                &quot;kind&quot;: &quot;compute#accessConfig&quot;, # [Output Only] Type of the resource. Always compute#accessConfig for access configs.
+                &quot;name&quot;: &quot;A String&quot;, # The name of this access configuration. The default and recommended name is External NAT, but you can use any arbitrary string, such as My external IP or Network Access.
+                &quot;natIP&quot;: &quot;A String&quot;, # An external IP address associated with this instance. Specify an unused static external IP address available to the project or leave this field undefined to use an IP from a shared ephemeral IP address pool. If you specify a static external IP address, it must live in the same region as the zone of the instance.
+                &quot;networkTier&quot;: &quot;A String&quot;, # This signifies the networking tier used for configuring this access configuration and can only take the following values: PREMIUM, STANDARD.
+                    #
+                    # If an AccessConfig is specified without a valid external IP address, an ephemeral IP will be created with this networkTier.
+                    #
+                    # If an AccessConfig with a valid external IP address is specified, it must match that of the networkTier associated with the Address resource owning that IP.
+                &quot;publicPtrDomainName&quot;: &quot;A String&quot;, # The DNS domain name for the public PTR record. You can set this field only if the `setPublicPtr` field is enabled.
+                &quot;setPublicPtr&quot;: True or False, # Specifies whether a public DNS &#x27;PTR&#x27; record should be created to map the external IP address of the instance to a DNS domain name.
+                &quot;type&quot;: &quot;ONE_TO_ONE_NAT&quot;, # The type of configuration. The default and only option is ONE_TO_ONE_NAT.
+              },
+            ],
+            &quot;ipv6AccessType&quot;: &quot;A String&quot;, # [Output Only] One of EXTERNAL, INTERNAL to indicate whether the IP can be accessed from the Internet. This field is always inherited from its subnetwork.
+                #
+                # Valid only if stackType is IPV4_IPV6.
             &quot;ipv6Address&quot;: &quot;A String&quot;, # [Output Only] An IPv6 internal network address for this network interface.
             &quot;kind&quot;: &quot;compute#networkInterface&quot;, # [Output Only] Type of the resource. Always compute#networkInterface for network interfaces.
             &quot;name&quot;: &quot;A String&quot;, # [Output Only] The name of the network interface, which is generated by the server. For network devices, these are eth0, eth1, etc.
@@ -1274,6 +1346,9 @@
                 # - global/networks/default
             &quot;networkIP&quot;: &quot;A String&quot;, # An IPv4 internal IP address to assign to the instance for this network interface. If not specified by the user, an unused internal IP is assigned by the system.
             &quot;nicType&quot;: &quot;A String&quot;, # The type of vNIC to be used on this interface. This may be gVNIC or VirtioNet.
+            &quot;stackType&quot;: &quot;A String&quot;, # The stack type for this network interface to identify whether the IPv6 feature is enabled or not. If not specified, IPV4_ONLY will be used.
+                #
+                # This field can be both set at instance creation and update network interface operations.
             &quot;subnetwork&quot;: &quot;A String&quot;, # The URL of the Subnetwork resource for this instance. If the network resource is in legacy mode, do not specify this field. If the network is in auto subnet mode, specifying the subnetwork is optional. If the network is in custom subnet mode, specifying the subnetwork is required. If you specify this field, you can specify the subnetwork as a full or partial URL. For example, the following are all valid URLs:
                 # - https://www.googleapis.com/compute/v1/projects/project/regions/region/subnetworks/subnetwork
                 # - regions/region/subnetworks/subnetwork
@@ -1290,7 +1365,7 @@
         &quot;resourcePolicies&quot;: [ # Resource policies (names, not ULRs) applied to instances created from these properties.
           &quot;A String&quot;,
         ],
-        &quot;scheduling&quot;: { # Sets the scheduling options for an Instance. NextID: 20 # Specifies the scheduling options for the instances that are created from these properties.
+        &quot;scheduling&quot;: { # Sets the scheduling options for an Instance. NextID: 21 # Specifies the scheduling options for the instances that are created from these properties.
           &quot;automaticRestart&quot;: True or False, # Specifies whether the instance should be automatically restarted if it is terminated by Compute Engine (not terminated by a user). You can only set the automatic restart option for standard instances. Preemptible instances cannot be automatically restarted.
               #
               # By default, this is set to true so an instance is automatically restarted if it is terminated by Compute Engine.
diff --git a/docs/dyn/compute_v1.instances.html b/docs/dyn/compute_v1.instances.html
index f35cd56..ab78f83 100644
--- a/docs/dyn/compute_v1.instances.html
+++ b/docs/dyn/compute_v1.instances.html
@@ -226,6 +226,8 @@
     The object takes the form of:
 
 { # An access configuration attached to an instance&#x27;s network interface. Only one access config per instance is supported.
+  &quot;externalIpv6&quot;: &quot;A String&quot;, # [Output Only] The first IPv6 address of the external IPv6 range associated with this instance, prefix length is stored in externalIpv6PrefixLength in ipv6AccessConfig. The field is output only, an IPv6 address from a subnetwork associated with the instance will be allocated dynamically.
+  &quot;externalIpv6PrefixLength&quot;: 42, # [Output Only] The prefix length of the external IPv6 range.
   &quot;kind&quot;: &quot;compute#accessConfig&quot;, # [Output Only] Type of the resource. Always compute#accessConfig for access configs.
   &quot;name&quot;: &quot;A String&quot;, # The name of this access configuration. The default and recommended name is External NAT, but you can use any arbitrary string, such as My external IP or Network Access.
   &quot;natIP&quot;: &quot;A String&quot;, # An external IP address associated with this instance. Specify an unused static external IP address available to the project or leave this field undefined to use an IP from a shared ephemeral IP address pool. If you specify a static external IP address, it must live in the same region as the zone of the instance.
@@ -626,6 +628,8 @@
             { # A network interface resource attached to an instance.
               &quot;accessConfigs&quot;: [ # An array of configurations for this interface. Currently, only one access config, ONE_TO_ONE_NAT, is supported. If there are no accessConfigs specified, then this instance will have no external internet access.
                 { # An access configuration attached to an instance&#x27;s network interface. Only one access config per instance is supported.
+                  &quot;externalIpv6&quot;: &quot;A String&quot;, # [Output Only] The first IPv6 address of the external IPv6 range associated with this instance, prefix length is stored in externalIpv6PrefixLength in ipv6AccessConfig. The field is output only, an IPv6 address from a subnetwork associated with the instance will be allocated dynamically.
+                  &quot;externalIpv6PrefixLength&quot;: 42, # [Output Only] The prefix length of the external IPv6 range.
                   &quot;kind&quot;: &quot;compute#accessConfig&quot;, # [Output Only] Type of the resource. Always compute#accessConfig for access configs.
                   &quot;name&quot;: &quot;A String&quot;, # The name of this access configuration. The default and recommended name is External NAT, but you can use any arbitrary string, such as My external IP or Network Access.
                   &quot;natIP&quot;: &quot;A String&quot;, # An external IP address associated with this instance. Specify an unused static external IP address available to the project or leave this field undefined to use an IP from a shared ephemeral IP address pool. If you specify a static external IP address, it must live in the same region as the zone of the instance.
@@ -646,6 +650,26 @@
                 },
               ],
               &quot;fingerprint&quot;: &quot;A String&quot;, # Fingerprint hash of contents stored in this network interface. This field will be ignored when inserting an Instance or adding a NetworkInterface. An up-to-date fingerprint must be provided in order to update the NetworkInterface. The request will fail with error 400 Bad Request if the fingerprint is not provided, or 412 Precondition Failed if the fingerprint is out of date.
+              &quot;ipv6AccessConfigs&quot;: [ # An array of IPv6 access configurations for this interface. Currently, only one IPv6 access config, DIRECT_IPV6, is supported. If there is no ipv6AccessConfig specified, then this instance will have no external IPv6 Internet access.
+                { # An access configuration attached to an instance&#x27;s network interface. Only one access config per instance is supported.
+                  &quot;externalIpv6&quot;: &quot;A String&quot;, # [Output Only] The first IPv6 address of the external IPv6 range associated with this instance, prefix length is stored in externalIpv6PrefixLength in ipv6AccessConfig. The field is output only, an IPv6 address from a subnetwork associated with the instance will be allocated dynamically.
+                  &quot;externalIpv6PrefixLength&quot;: 42, # [Output Only] The prefix length of the external IPv6 range.
+                  &quot;kind&quot;: &quot;compute#accessConfig&quot;, # [Output Only] Type of the resource. Always compute#accessConfig for access configs.
+                  &quot;name&quot;: &quot;A String&quot;, # The name of this access configuration. The default and recommended name is External NAT, but you can use any arbitrary string, such as My external IP or Network Access.
+                  &quot;natIP&quot;: &quot;A String&quot;, # An external IP address associated with this instance. Specify an unused static external IP address available to the project or leave this field undefined to use an IP from a shared ephemeral IP address pool. If you specify a static external IP address, it must live in the same region as the zone of the instance.
+                  &quot;networkTier&quot;: &quot;A String&quot;, # This signifies the networking tier used for configuring this access configuration and can only take the following values: PREMIUM, STANDARD.
+                      #
+                      # If an AccessConfig is specified without a valid external IP address, an ephemeral IP will be created with this networkTier.
+                      #
+                      # If an AccessConfig with a valid external IP address is specified, it must match that of the networkTier associated with the Address resource owning that IP.
+                  &quot;publicPtrDomainName&quot;: &quot;A String&quot;, # The DNS domain name for the public PTR record. You can set this field only if the `setPublicPtr` field is enabled.
+                  &quot;setPublicPtr&quot;: True or False, # Specifies whether a public DNS &#x27;PTR&#x27; record should be created to map the external IP address of the instance to a DNS domain name.
+                  &quot;type&quot;: &quot;ONE_TO_ONE_NAT&quot;, # The type of configuration. The default and only option is ONE_TO_ONE_NAT.
+                },
+              ],
+              &quot;ipv6AccessType&quot;: &quot;A String&quot;, # [Output Only] One of EXTERNAL, INTERNAL to indicate whether the IP can be accessed from the Internet. This field is always inherited from its subnetwork.
+                  #
+                  # Valid only if stackType is IPV4_IPV6.
               &quot;ipv6Address&quot;: &quot;A String&quot;, # [Output Only] An IPv6 internal network address for this network interface.
               &quot;kind&quot;: &quot;compute#networkInterface&quot;, # [Output Only] Type of the resource. Always compute#networkInterface for network interfaces.
               &quot;name&quot;: &quot;A String&quot;, # [Output Only] The name of the network interface, which is generated by the server. For network devices, these are eth0, eth1, etc.
@@ -657,6 +681,9 @@
                   # - global/networks/default
               &quot;networkIP&quot;: &quot;A String&quot;, # An IPv4 internal IP address to assign to the instance for this network interface. If not specified by the user, an unused internal IP is assigned by the system.
               &quot;nicType&quot;: &quot;A String&quot;, # The type of vNIC to be used on this interface. This may be gVNIC or VirtioNet.
+              &quot;stackType&quot;: &quot;A String&quot;, # The stack type for this network interface to identify whether the IPv6 feature is enabled or not. If not specified, IPV4_ONLY will be used.
+                  #
+                  # This field can be both set at instance creation and update network interface operations.
               &quot;subnetwork&quot;: &quot;A String&quot;, # The URL of the Subnetwork resource for this instance. If the network resource is in legacy mode, do not specify this field. If the network is in auto subnet mode, specifying the subnetwork is optional. If the network is in custom subnet mode, specifying the subnetwork is required. If you specify this field, you can specify the subnetwork as a full or partial URL. For example, the following are all valid URLs:
                   # - https://www.googleapis.com/compute/v1/projects/project/regions/region/subnetworks/subnetwork
                   # - regions/region/subnetworks/subnetwork
@@ -674,7 +701,7 @@
             &quot;A String&quot;,
           ],
           &quot;satisfiesPzs&quot;: True or False, # [Output Only] Reserved for future use.
-          &quot;scheduling&quot;: { # Sets the scheduling options for an Instance. NextID: 20 # Sets the scheduling options for this instance.
+          &quot;scheduling&quot;: { # Sets the scheduling options for an Instance. NextID: 21 # Sets the scheduling options for this instance.
             &quot;automaticRestart&quot;: True or False, # Specifies whether the instance should be automatically restarted if it is terminated by Compute Engine (not terminated by a user). You can only set the automatic restart option for standard instances. Preemptible instances cannot be automatically restarted.
                 #
                 # By default, this is set to true so an instance is automatically restarted if it is terminated by Compute Engine.
@@ -994,7 +1021,7 @@
   body: object, The request body.
     The object takes the form of:
 
-{
+{ # A transient resource used in compute.instances.bulkInsert and compute.regionInstances.bulkInsert and compute.regionInstances.recommendLocations. This resource is not persisted anywhere, it is used only for processing the requests.
   &quot;count&quot;: &quot;A String&quot;, # The maximum number of instances to create.
   &quot;instanceProperties&quot;: { # The instance properties defining the VM instances to be created. Required if sourceInstanceTemplate is not provided.
     &quot;advancedMachineFeatures&quot;: { # Specifies options for controlling advanced machine features. Options that would traditionally be configured in a BIOS belong here. Features that require operating system support may have corresponding entries in the GuestOsFeatures of an Image (e.g., whether or not the OS in the Image supports nested virtualization being enabled or disabled). # Controls for advanced machine-related behavior features.
@@ -1164,6 +1191,8 @@
       { # A network interface resource attached to an instance.
         &quot;accessConfigs&quot;: [ # An array of configurations for this interface. Currently, only one access config, ONE_TO_ONE_NAT, is supported. If there are no accessConfigs specified, then this instance will have no external internet access.
           { # An access configuration attached to an instance&#x27;s network interface. Only one access config per instance is supported.
+            &quot;externalIpv6&quot;: &quot;A String&quot;, # [Output Only] The first IPv6 address of the external IPv6 range associated with this instance, prefix length is stored in externalIpv6PrefixLength in ipv6AccessConfig. The field is output only, an IPv6 address from a subnetwork associated with the instance will be allocated dynamically.
+            &quot;externalIpv6PrefixLength&quot;: 42, # [Output Only] The prefix length of the external IPv6 range.
             &quot;kind&quot;: &quot;compute#accessConfig&quot;, # [Output Only] Type of the resource. Always compute#accessConfig for access configs.
             &quot;name&quot;: &quot;A String&quot;, # The name of this access configuration. The default and recommended name is External NAT, but you can use any arbitrary string, such as My external IP or Network Access.
             &quot;natIP&quot;: &quot;A String&quot;, # An external IP address associated with this instance. Specify an unused static external IP address available to the project or leave this field undefined to use an IP from a shared ephemeral IP address pool. If you specify a static external IP address, it must live in the same region as the zone of the instance.
@@ -1184,6 +1213,26 @@
           },
         ],
         &quot;fingerprint&quot;: &quot;A String&quot;, # Fingerprint hash of contents stored in this network interface. This field will be ignored when inserting an Instance or adding a NetworkInterface. An up-to-date fingerprint must be provided in order to update the NetworkInterface. The request will fail with error 400 Bad Request if the fingerprint is not provided, or 412 Precondition Failed if the fingerprint is out of date.
+        &quot;ipv6AccessConfigs&quot;: [ # An array of IPv6 access configurations for this interface. Currently, only one IPv6 access config, DIRECT_IPV6, is supported. If there is no ipv6AccessConfig specified, then this instance will have no external IPv6 Internet access.
+          { # An access configuration attached to an instance&#x27;s network interface. Only one access config per instance is supported.
+            &quot;externalIpv6&quot;: &quot;A String&quot;, # [Output Only] The first IPv6 address of the external IPv6 range associated with this instance, prefix length is stored in externalIpv6PrefixLength in ipv6AccessConfig. The field is output only, an IPv6 address from a subnetwork associated with the instance will be allocated dynamically.
+            &quot;externalIpv6PrefixLength&quot;: 42, # [Output Only] The prefix length of the external IPv6 range.
+            &quot;kind&quot;: &quot;compute#accessConfig&quot;, # [Output Only] Type of the resource. Always compute#accessConfig for access configs.
+            &quot;name&quot;: &quot;A String&quot;, # The name of this access configuration. The default and recommended name is External NAT, but you can use any arbitrary string, such as My external IP or Network Access.
+            &quot;natIP&quot;: &quot;A String&quot;, # An external IP address associated with this instance. Specify an unused static external IP address available to the project or leave this field undefined to use an IP from a shared ephemeral IP address pool. If you specify a static external IP address, it must live in the same region as the zone of the instance.
+            &quot;networkTier&quot;: &quot;A String&quot;, # This signifies the networking tier used for configuring this access configuration and can only take the following values: PREMIUM, STANDARD.
+                #
+                # If an AccessConfig is specified without a valid external IP address, an ephemeral IP will be created with this networkTier.
+                #
+                # If an AccessConfig with a valid external IP address is specified, it must match that of the networkTier associated with the Address resource owning that IP.
+            &quot;publicPtrDomainName&quot;: &quot;A String&quot;, # The DNS domain name for the public PTR record. You can set this field only if the `setPublicPtr` field is enabled.
+            &quot;setPublicPtr&quot;: True or False, # Specifies whether a public DNS &#x27;PTR&#x27; record should be created to map the external IP address of the instance to a DNS domain name.
+            &quot;type&quot;: &quot;ONE_TO_ONE_NAT&quot;, # The type of configuration. The default and only option is ONE_TO_ONE_NAT.
+          },
+        ],
+        &quot;ipv6AccessType&quot;: &quot;A String&quot;, # [Output Only] One of EXTERNAL, INTERNAL to indicate whether the IP can be accessed from the Internet. This field is always inherited from its subnetwork.
+            #
+            # Valid only if stackType is IPV4_IPV6.
         &quot;ipv6Address&quot;: &quot;A String&quot;, # [Output Only] An IPv6 internal network address for this network interface.
         &quot;kind&quot;: &quot;compute#networkInterface&quot;, # [Output Only] Type of the resource. Always compute#networkInterface for network interfaces.
         &quot;name&quot;: &quot;A String&quot;, # [Output Only] The name of the network interface, which is generated by the server. For network devices, these are eth0, eth1, etc.
@@ -1195,6 +1244,9 @@
             # - global/networks/default
         &quot;networkIP&quot;: &quot;A String&quot;, # An IPv4 internal IP address to assign to the instance for this network interface. If not specified by the user, an unused internal IP is assigned by the system.
         &quot;nicType&quot;: &quot;A String&quot;, # The type of vNIC to be used on this interface. This may be gVNIC or VirtioNet.
+        &quot;stackType&quot;: &quot;A String&quot;, # The stack type for this network interface to identify whether the IPv6 feature is enabled or not. If not specified, IPV4_ONLY will be used.
+            #
+            # This field can be both set at instance creation and update network interface operations.
         &quot;subnetwork&quot;: &quot;A String&quot;, # The URL of the Subnetwork resource for this instance. If the network resource is in legacy mode, do not specify this field. If the network is in auto subnet mode, specifying the subnetwork is optional. If the network is in custom subnet mode, specifying the subnetwork is required. If you specify this field, you can specify the subnetwork as a full or partial URL. For example, the following are all valid URLs:
             # - https://www.googleapis.com/compute/v1/projects/project/regions/region/subnetworks/subnetwork
             # - regions/region/subnetworks/subnetwork
@@ -1211,7 +1263,7 @@
     &quot;resourcePolicies&quot;: [ # Resource policies (names, not ULRs) applied to instances created from these properties.
       &quot;A String&quot;,
     ],
-    &quot;scheduling&quot;: { # Sets the scheduling options for an Instance. NextID: 20 # Specifies the scheduling options for the instances that are created from these properties.
+    &quot;scheduling&quot;: { # Sets the scheduling options for an Instance. NextID: 21 # Specifies the scheduling options for the instances that are created from these properties.
       &quot;automaticRestart&quot;: True or False, # Specifies whether the instance should be automatically restarted if it is terminated by Compute Engine (not terminated by a user). You can only set the automatic restart option for standard instances. Preemptible instances cannot be automatically restarted.
           #
           # By default, this is set to true so an instance is automatically restarted if it is terminated by Compute Engine.
@@ -1254,7 +1306,7 @@
   &quot;locationPolicy&quot;: { # Configuration for location policy among multiple possible locations (e.g. preferences for zone selection among zones in a single region). # Policy for chosing target zone.
     &quot;locations&quot;: { # Location configurations mapped by location name. Currently only zone names are supported and must be represented as valid internal URLs, such as zones/us-central1-a.
       &quot;a_key&quot;: {
-        &quot;preference&quot;: &quot;A String&quot;, # Preference for a given locaction: ALLOW or DENY.
+        &quot;preference&quot;: &quot;A String&quot;, # Preference for a given location: ALLOW or DENY.
       },
     },
   },
@@ -1798,6 +1850,8 @@
     { # A network interface resource attached to an instance.
       &quot;accessConfigs&quot;: [ # An array of configurations for this interface. Currently, only one access config, ONE_TO_ONE_NAT, is supported. If there are no accessConfigs specified, then this instance will have no external internet access.
         { # An access configuration attached to an instance&#x27;s network interface. Only one access config per instance is supported.
+          &quot;externalIpv6&quot;: &quot;A String&quot;, # [Output Only] The first IPv6 address of the external IPv6 range associated with this instance, prefix length is stored in externalIpv6PrefixLength in ipv6AccessConfig. The field is output only, an IPv6 address from a subnetwork associated with the instance will be allocated dynamically.
+          &quot;externalIpv6PrefixLength&quot;: 42, # [Output Only] The prefix length of the external IPv6 range.
           &quot;kind&quot;: &quot;compute#accessConfig&quot;, # [Output Only] Type of the resource. Always compute#accessConfig for access configs.
           &quot;name&quot;: &quot;A String&quot;, # The name of this access configuration. The default and recommended name is External NAT, but you can use any arbitrary string, such as My external IP or Network Access.
           &quot;natIP&quot;: &quot;A String&quot;, # An external IP address associated with this instance. Specify an unused static external IP address available to the project or leave this field undefined to use an IP from a shared ephemeral IP address pool. If you specify a static external IP address, it must live in the same region as the zone of the instance.
@@ -1818,6 +1872,26 @@
         },
       ],
       &quot;fingerprint&quot;: &quot;A String&quot;, # Fingerprint hash of contents stored in this network interface. This field will be ignored when inserting an Instance or adding a NetworkInterface. An up-to-date fingerprint must be provided in order to update the NetworkInterface. The request will fail with error 400 Bad Request if the fingerprint is not provided, or 412 Precondition Failed if the fingerprint is out of date.
+      &quot;ipv6AccessConfigs&quot;: [ # An array of IPv6 access configurations for this interface. Currently, only one IPv6 access config, DIRECT_IPV6, is supported. If there is no ipv6AccessConfig specified, then this instance will have no external IPv6 Internet access.
+        { # An access configuration attached to an instance&#x27;s network interface. Only one access config per instance is supported.
+          &quot;externalIpv6&quot;: &quot;A String&quot;, # [Output Only] The first IPv6 address of the external IPv6 range associated with this instance, prefix length is stored in externalIpv6PrefixLength in ipv6AccessConfig. The field is output only, an IPv6 address from a subnetwork associated with the instance will be allocated dynamically.
+          &quot;externalIpv6PrefixLength&quot;: 42, # [Output Only] The prefix length of the external IPv6 range.
+          &quot;kind&quot;: &quot;compute#accessConfig&quot;, # [Output Only] Type of the resource. Always compute#accessConfig for access configs.
+          &quot;name&quot;: &quot;A String&quot;, # The name of this access configuration. The default and recommended name is External NAT, but you can use any arbitrary string, such as My external IP or Network Access.
+          &quot;natIP&quot;: &quot;A String&quot;, # An external IP address associated with this instance. Specify an unused static external IP address available to the project or leave this field undefined to use an IP from a shared ephemeral IP address pool. If you specify a static external IP address, it must live in the same region as the zone of the instance.
+          &quot;networkTier&quot;: &quot;A String&quot;, # This signifies the networking tier used for configuring this access configuration and can only take the following values: PREMIUM, STANDARD.
+              #
+              # If an AccessConfig is specified without a valid external IP address, an ephemeral IP will be created with this networkTier.
+              #
+              # If an AccessConfig with a valid external IP address is specified, it must match that of the networkTier associated with the Address resource owning that IP.
+          &quot;publicPtrDomainName&quot;: &quot;A String&quot;, # The DNS domain name for the public PTR record. You can set this field only if the `setPublicPtr` field is enabled.
+          &quot;setPublicPtr&quot;: True or False, # Specifies whether a public DNS &#x27;PTR&#x27; record should be created to map the external IP address of the instance to a DNS domain name.
+          &quot;type&quot;: &quot;ONE_TO_ONE_NAT&quot;, # The type of configuration. The default and only option is ONE_TO_ONE_NAT.
+        },
+      ],
+      &quot;ipv6AccessType&quot;: &quot;A String&quot;, # [Output Only] One of EXTERNAL, INTERNAL to indicate whether the IP can be accessed from the Internet. This field is always inherited from its subnetwork.
+          #
+          # Valid only if stackType is IPV4_IPV6.
       &quot;ipv6Address&quot;: &quot;A String&quot;, # [Output Only] An IPv6 internal network address for this network interface.
       &quot;kind&quot;: &quot;compute#networkInterface&quot;, # [Output Only] Type of the resource. Always compute#networkInterface for network interfaces.
       &quot;name&quot;: &quot;A String&quot;, # [Output Only] The name of the network interface, which is generated by the server. For network devices, these are eth0, eth1, etc.
@@ -1829,6 +1903,9 @@
           # - global/networks/default
       &quot;networkIP&quot;: &quot;A String&quot;, # An IPv4 internal IP address to assign to the instance for this network interface. If not specified by the user, an unused internal IP is assigned by the system.
       &quot;nicType&quot;: &quot;A String&quot;, # The type of vNIC to be used on this interface. This may be gVNIC or VirtioNet.
+      &quot;stackType&quot;: &quot;A String&quot;, # The stack type for this network interface to identify whether the IPv6 feature is enabled or not. If not specified, IPV4_ONLY will be used.
+          #
+          # This field can be both set at instance creation and update network interface operations.
       &quot;subnetwork&quot;: &quot;A String&quot;, # The URL of the Subnetwork resource for this instance. If the network resource is in legacy mode, do not specify this field. If the network is in auto subnet mode, specifying the subnetwork is optional. If the network is in custom subnet mode, specifying the subnetwork is required. If you specify this field, you can specify the subnetwork as a full or partial URL. For example, the following are all valid URLs:
           # - https://www.googleapis.com/compute/v1/projects/project/regions/region/subnetworks/subnetwork
           # - regions/region/subnetworks/subnetwork
@@ -1846,7 +1923,7 @@
     &quot;A String&quot;,
   ],
   &quot;satisfiesPzs&quot;: True or False, # [Output Only] Reserved for future use.
-  &quot;scheduling&quot;: { # Sets the scheduling options for an Instance. NextID: 20 # Sets the scheduling options for this instance.
+  &quot;scheduling&quot;: { # Sets the scheduling options for an Instance. NextID: 21 # Sets the scheduling options for this instance.
     &quot;automaticRestart&quot;: True or False, # Specifies whether the instance should be automatically restarted if it is terminated by Compute Engine (not terminated by a user). You can only set the automatic restart option for standard instances. Preemptible instances cannot be automatically restarted.
         #
         # By default, this is set to true so an instance is automatically restarted if it is terminated by Compute Engine.
@@ -2530,6 +2607,8 @@
     { # A network interface resource attached to an instance.
       &quot;accessConfigs&quot;: [ # An array of configurations for this interface. Currently, only one access config, ONE_TO_ONE_NAT, is supported. If there are no accessConfigs specified, then this instance will have no external internet access.
         { # An access configuration attached to an instance&#x27;s network interface. Only one access config per instance is supported.
+          &quot;externalIpv6&quot;: &quot;A String&quot;, # [Output Only] The first IPv6 address of the external IPv6 range associated with this instance, prefix length is stored in externalIpv6PrefixLength in ipv6AccessConfig. The field is output only, an IPv6 address from a subnetwork associated with the instance will be allocated dynamically.
+          &quot;externalIpv6PrefixLength&quot;: 42, # [Output Only] The prefix length of the external IPv6 range.
           &quot;kind&quot;: &quot;compute#accessConfig&quot;, # [Output Only] Type of the resource. Always compute#accessConfig for access configs.
           &quot;name&quot;: &quot;A String&quot;, # The name of this access configuration. The default and recommended name is External NAT, but you can use any arbitrary string, such as My external IP or Network Access.
           &quot;natIP&quot;: &quot;A String&quot;, # An external IP address associated with this instance. Specify an unused static external IP address available to the project or leave this field undefined to use an IP from a shared ephemeral IP address pool. If you specify a static external IP address, it must live in the same region as the zone of the instance.
@@ -2550,6 +2629,26 @@
         },
       ],
       &quot;fingerprint&quot;: &quot;A String&quot;, # Fingerprint hash of contents stored in this network interface. This field will be ignored when inserting an Instance or adding a NetworkInterface. An up-to-date fingerprint must be provided in order to update the NetworkInterface. The request will fail with error 400 Bad Request if the fingerprint is not provided, or 412 Precondition Failed if the fingerprint is out of date.
+      &quot;ipv6AccessConfigs&quot;: [ # An array of IPv6 access configurations for this interface. Currently, only one IPv6 access config, DIRECT_IPV6, is supported. If there is no ipv6AccessConfig specified, then this instance will have no external IPv6 Internet access.
+        { # An access configuration attached to an instance&#x27;s network interface. Only one access config per instance is supported.
+          &quot;externalIpv6&quot;: &quot;A String&quot;, # [Output Only] The first IPv6 address of the external IPv6 range associated with this instance, prefix length is stored in externalIpv6PrefixLength in ipv6AccessConfig. The field is output only, an IPv6 address from a subnetwork associated with the instance will be allocated dynamically.
+          &quot;externalIpv6PrefixLength&quot;: 42, # [Output Only] The prefix length of the external IPv6 range.
+          &quot;kind&quot;: &quot;compute#accessConfig&quot;, # [Output Only] Type of the resource. Always compute#accessConfig for access configs.
+          &quot;name&quot;: &quot;A String&quot;, # The name of this access configuration. The default and recommended name is External NAT, but you can use any arbitrary string, such as My external IP or Network Access.
+          &quot;natIP&quot;: &quot;A String&quot;, # An external IP address associated with this instance. Specify an unused static external IP address available to the project or leave this field undefined to use an IP from a shared ephemeral IP address pool. If you specify a static external IP address, it must live in the same region as the zone of the instance.
+          &quot;networkTier&quot;: &quot;A String&quot;, # This signifies the networking tier used for configuring this access configuration and can only take the following values: PREMIUM, STANDARD.
+              #
+              # If an AccessConfig is specified without a valid external IP address, an ephemeral IP will be created with this networkTier.
+              #
+              # If an AccessConfig with a valid external IP address is specified, it must match that of the networkTier associated with the Address resource owning that IP.
+          &quot;publicPtrDomainName&quot;: &quot;A String&quot;, # The DNS domain name for the public PTR record. You can set this field only if the `setPublicPtr` field is enabled.
+          &quot;setPublicPtr&quot;: True or False, # Specifies whether a public DNS &#x27;PTR&#x27; record should be created to map the external IP address of the instance to a DNS domain name.
+          &quot;type&quot;: &quot;ONE_TO_ONE_NAT&quot;, # The type of configuration. The default and only option is ONE_TO_ONE_NAT.
+        },
+      ],
+      &quot;ipv6AccessType&quot;: &quot;A String&quot;, # [Output Only] One of EXTERNAL, INTERNAL to indicate whether the IP can be accessed from the Internet. This field is always inherited from its subnetwork.
+          #
+          # Valid only if stackType is IPV4_IPV6.
       &quot;ipv6Address&quot;: &quot;A String&quot;, # [Output Only] An IPv6 internal network address for this network interface.
       &quot;kind&quot;: &quot;compute#networkInterface&quot;, # [Output Only] Type of the resource. Always compute#networkInterface for network interfaces.
       &quot;name&quot;: &quot;A String&quot;, # [Output Only] The name of the network interface, which is generated by the server. For network devices, these are eth0, eth1, etc.
@@ -2561,6 +2660,9 @@
           # - global/networks/default
       &quot;networkIP&quot;: &quot;A String&quot;, # An IPv4 internal IP address to assign to the instance for this network interface. If not specified by the user, an unused internal IP is assigned by the system.
       &quot;nicType&quot;: &quot;A String&quot;, # The type of vNIC to be used on this interface. This may be gVNIC or VirtioNet.
+      &quot;stackType&quot;: &quot;A String&quot;, # The stack type for this network interface to identify whether the IPv6 feature is enabled or not. If not specified, IPV4_ONLY will be used.
+          #
+          # This field can be both set at instance creation and update network interface operations.
       &quot;subnetwork&quot;: &quot;A String&quot;, # The URL of the Subnetwork resource for this instance. If the network resource is in legacy mode, do not specify this field. If the network is in auto subnet mode, specifying the subnetwork is optional. If the network is in custom subnet mode, specifying the subnetwork is required. If you specify this field, you can specify the subnetwork as a full or partial URL. For example, the following are all valid URLs:
           # - https://www.googleapis.com/compute/v1/projects/project/regions/region/subnetworks/subnetwork
           # - regions/region/subnetworks/subnetwork
@@ -2578,7 +2680,7 @@
     &quot;A String&quot;,
   ],
   &quot;satisfiesPzs&quot;: True or False, # [Output Only] Reserved for future use.
-  &quot;scheduling&quot;: { # Sets the scheduling options for an Instance. NextID: 20 # Sets the scheduling options for this instance.
+  &quot;scheduling&quot;: { # Sets the scheduling options for an Instance. NextID: 21 # Sets the scheduling options for this instance.
     &quot;automaticRestart&quot;: True or False, # Specifies whether the instance should be automatically restarted if it is terminated by Compute Engine (not terminated by a user). You can only set the automatic restart option for standard instances. Preemptible instances cannot be automatically restarted.
         #
         # By default, this is set to true so an instance is automatically restarted if it is terminated by Compute Engine.
@@ -2933,6 +3035,8 @@
         { # A network interface resource attached to an instance.
           &quot;accessConfigs&quot;: [ # An array of configurations for this interface. Currently, only one access config, ONE_TO_ONE_NAT, is supported. If there are no accessConfigs specified, then this instance will have no external internet access.
             { # An access configuration attached to an instance&#x27;s network interface. Only one access config per instance is supported.
+              &quot;externalIpv6&quot;: &quot;A String&quot;, # [Output Only] The first IPv6 address of the external IPv6 range associated with this instance, prefix length is stored in externalIpv6PrefixLength in ipv6AccessConfig. The field is output only, an IPv6 address from a subnetwork associated with the instance will be allocated dynamically.
+              &quot;externalIpv6PrefixLength&quot;: 42, # [Output Only] The prefix length of the external IPv6 range.
               &quot;kind&quot;: &quot;compute#accessConfig&quot;, # [Output Only] Type of the resource. Always compute#accessConfig for access configs.
               &quot;name&quot;: &quot;A String&quot;, # The name of this access configuration. The default and recommended name is External NAT, but you can use any arbitrary string, such as My external IP or Network Access.
               &quot;natIP&quot;: &quot;A String&quot;, # An external IP address associated with this instance. Specify an unused static external IP address available to the project or leave this field undefined to use an IP from a shared ephemeral IP address pool. If you specify a static external IP address, it must live in the same region as the zone of the instance.
@@ -2953,6 +3057,26 @@
             },
           ],
           &quot;fingerprint&quot;: &quot;A String&quot;, # Fingerprint hash of contents stored in this network interface. This field will be ignored when inserting an Instance or adding a NetworkInterface. An up-to-date fingerprint must be provided in order to update the NetworkInterface. The request will fail with error 400 Bad Request if the fingerprint is not provided, or 412 Precondition Failed if the fingerprint is out of date.
+          &quot;ipv6AccessConfigs&quot;: [ # An array of IPv6 access configurations for this interface. Currently, only one IPv6 access config, DIRECT_IPV6, is supported. If there is no ipv6AccessConfig specified, then this instance will have no external IPv6 Internet access.
+            { # An access configuration attached to an instance&#x27;s network interface. Only one access config per instance is supported.
+              &quot;externalIpv6&quot;: &quot;A String&quot;, # [Output Only] The first IPv6 address of the external IPv6 range associated with this instance, prefix length is stored in externalIpv6PrefixLength in ipv6AccessConfig. The field is output only, an IPv6 address from a subnetwork associated with the instance will be allocated dynamically.
+              &quot;externalIpv6PrefixLength&quot;: 42, # [Output Only] The prefix length of the external IPv6 range.
+              &quot;kind&quot;: &quot;compute#accessConfig&quot;, # [Output Only] Type of the resource. Always compute#accessConfig for access configs.
+              &quot;name&quot;: &quot;A String&quot;, # The name of this access configuration. The default and recommended name is External NAT, but you can use any arbitrary string, such as My external IP or Network Access.
+              &quot;natIP&quot;: &quot;A String&quot;, # An external IP address associated with this instance. Specify an unused static external IP address available to the project or leave this field undefined to use an IP from a shared ephemeral IP address pool. If you specify a static external IP address, it must live in the same region as the zone of the instance.
+              &quot;networkTier&quot;: &quot;A String&quot;, # This signifies the networking tier used for configuring this access configuration and can only take the following values: PREMIUM, STANDARD.
+                  #
+                  # If an AccessConfig is specified without a valid external IP address, an ephemeral IP will be created with this networkTier.
+                  #
+                  # If an AccessConfig with a valid external IP address is specified, it must match that of the networkTier associated with the Address resource owning that IP.
+              &quot;publicPtrDomainName&quot;: &quot;A String&quot;, # The DNS domain name for the public PTR record. You can set this field only if the `setPublicPtr` field is enabled.
+              &quot;setPublicPtr&quot;: True or False, # Specifies whether a public DNS &#x27;PTR&#x27; record should be created to map the external IP address of the instance to a DNS domain name.
+              &quot;type&quot;: &quot;ONE_TO_ONE_NAT&quot;, # The type of configuration. The default and only option is ONE_TO_ONE_NAT.
+            },
+          ],
+          &quot;ipv6AccessType&quot;: &quot;A String&quot;, # [Output Only] One of EXTERNAL, INTERNAL to indicate whether the IP can be accessed from the Internet. This field is always inherited from its subnetwork.
+              #
+              # Valid only if stackType is IPV4_IPV6.
           &quot;ipv6Address&quot;: &quot;A String&quot;, # [Output Only] An IPv6 internal network address for this network interface.
           &quot;kind&quot;: &quot;compute#networkInterface&quot;, # [Output Only] Type of the resource. Always compute#networkInterface for network interfaces.
           &quot;name&quot;: &quot;A String&quot;, # [Output Only] The name of the network interface, which is generated by the server. For network devices, these are eth0, eth1, etc.
@@ -2964,6 +3088,9 @@
               # - global/networks/default
           &quot;networkIP&quot;: &quot;A String&quot;, # An IPv4 internal IP address to assign to the instance for this network interface. If not specified by the user, an unused internal IP is assigned by the system.
           &quot;nicType&quot;: &quot;A String&quot;, # The type of vNIC to be used on this interface. This may be gVNIC or VirtioNet.
+          &quot;stackType&quot;: &quot;A String&quot;, # The stack type for this network interface to identify whether the IPv6 feature is enabled or not. If not specified, IPV4_ONLY will be used.
+              #
+              # This field can be both set at instance creation and update network interface operations.
           &quot;subnetwork&quot;: &quot;A String&quot;, # The URL of the Subnetwork resource for this instance. If the network resource is in legacy mode, do not specify this field. If the network is in auto subnet mode, specifying the subnetwork is optional. If the network is in custom subnet mode, specifying the subnetwork is required. If you specify this field, you can specify the subnetwork as a full or partial URL. For example, the following are all valid URLs:
               # - https://www.googleapis.com/compute/v1/projects/project/regions/region/subnetworks/subnetwork
               # - regions/region/subnetworks/subnetwork
@@ -2981,7 +3108,7 @@
         &quot;A String&quot;,
       ],
       &quot;satisfiesPzs&quot;: True or False, # [Output Only] Reserved for future use.
-      &quot;scheduling&quot;: { # Sets the scheduling options for an Instance. NextID: 20 # Sets the scheduling options for this instance.
+      &quot;scheduling&quot;: { # Sets the scheduling options for an Instance. NextID: 21 # Sets the scheduling options for this instance.
         &quot;automaticRestart&quot;: True or False, # Specifies whether the instance should be automatically restarted if it is terminated by Compute Engine (not terminated by a user). You can only set the automatic restart option for standard instances. Preemptible instances cannot be automatically restarted.
             #
             # By default, this is set to true so an instance is automatically restarted if it is terminated by Compute Engine.
@@ -4355,7 +4482,7 @@
   body: object, The request body.
     The object takes the form of:
 
-{ # Sets the scheduling options for an Instance. NextID: 20
+{ # Sets the scheduling options for an Instance. NextID: 21
   &quot;automaticRestart&quot;: True or False, # Specifies whether the instance should be automatically restarted if it is terminated by Compute Engine (not terminated by a user). You can only set the automatic restart option for standard instances. Preemptible instances cannot be automatically restarted.
       # 
       # By default, this is set to true so an instance is automatically restarted if it is terminated by Compute Engine.
@@ -5273,6 +5400,8 @@
     { # A network interface resource attached to an instance.
       &quot;accessConfigs&quot;: [ # An array of configurations for this interface. Currently, only one access config, ONE_TO_ONE_NAT, is supported. If there are no accessConfigs specified, then this instance will have no external internet access.
         { # An access configuration attached to an instance&#x27;s network interface. Only one access config per instance is supported.
+          &quot;externalIpv6&quot;: &quot;A String&quot;, # [Output Only] The first IPv6 address of the external IPv6 range associated with this instance, prefix length is stored in externalIpv6PrefixLength in ipv6AccessConfig. The field is output only, an IPv6 address from a subnetwork associated with the instance will be allocated dynamically.
+          &quot;externalIpv6PrefixLength&quot;: 42, # [Output Only] The prefix length of the external IPv6 range.
           &quot;kind&quot;: &quot;compute#accessConfig&quot;, # [Output Only] Type of the resource. Always compute#accessConfig for access configs.
           &quot;name&quot;: &quot;A String&quot;, # The name of this access configuration. The default and recommended name is External NAT, but you can use any arbitrary string, such as My external IP or Network Access.
           &quot;natIP&quot;: &quot;A String&quot;, # An external IP address associated with this instance. Specify an unused static external IP address available to the project or leave this field undefined to use an IP from a shared ephemeral IP address pool. If you specify a static external IP address, it must live in the same region as the zone of the instance.
@@ -5293,6 +5422,26 @@
         },
       ],
       &quot;fingerprint&quot;: &quot;A String&quot;, # Fingerprint hash of contents stored in this network interface. This field will be ignored when inserting an Instance or adding a NetworkInterface. An up-to-date fingerprint must be provided in order to update the NetworkInterface. The request will fail with error 400 Bad Request if the fingerprint is not provided, or 412 Precondition Failed if the fingerprint is out of date.
+      &quot;ipv6AccessConfigs&quot;: [ # An array of IPv6 access configurations for this interface. Currently, only one IPv6 access config, DIRECT_IPV6, is supported. If there is no ipv6AccessConfig specified, then this instance will have no external IPv6 Internet access.
+        { # An access configuration attached to an instance&#x27;s network interface. Only one access config per instance is supported.
+          &quot;externalIpv6&quot;: &quot;A String&quot;, # [Output Only] The first IPv6 address of the external IPv6 range associated with this instance, prefix length is stored in externalIpv6PrefixLength in ipv6AccessConfig. The field is output only, an IPv6 address from a subnetwork associated with the instance will be allocated dynamically.
+          &quot;externalIpv6PrefixLength&quot;: 42, # [Output Only] The prefix length of the external IPv6 range.
+          &quot;kind&quot;: &quot;compute#accessConfig&quot;, # [Output Only] Type of the resource. Always compute#accessConfig for access configs.
+          &quot;name&quot;: &quot;A String&quot;, # The name of this access configuration. The default and recommended name is External NAT, but you can use any arbitrary string, such as My external IP or Network Access.
+          &quot;natIP&quot;: &quot;A String&quot;, # An external IP address associated with this instance. Specify an unused static external IP address available to the project or leave this field undefined to use an IP from a shared ephemeral IP address pool. If you specify a static external IP address, it must live in the same region as the zone of the instance.
+          &quot;networkTier&quot;: &quot;A String&quot;, # This signifies the networking tier used for configuring this access configuration and can only take the following values: PREMIUM, STANDARD.
+              #
+              # If an AccessConfig is specified without a valid external IP address, an ephemeral IP will be created with this networkTier.
+              #
+              # If an AccessConfig with a valid external IP address is specified, it must match that of the networkTier associated with the Address resource owning that IP.
+          &quot;publicPtrDomainName&quot;: &quot;A String&quot;, # The DNS domain name for the public PTR record. You can set this field only if the `setPublicPtr` field is enabled.
+          &quot;setPublicPtr&quot;: True or False, # Specifies whether a public DNS &#x27;PTR&#x27; record should be created to map the external IP address of the instance to a DNS domain name.
+          &quot;type&quot;: &quot;ONE_TO_ONE_NAT&quot;, # The type of configuration. The default and only option is ONE_TO_ONE_NAT.
+        },
+      ],
+      &quot;ipv6AccessType&quot;: &quot;A String&quot;, # [Output Only] One of EXTERNAL, INTERNAL to indicate whether the IP can be accessed from the Internet. This field is always inherited from its subnetwork.
+          #
+          # Valid only if stackType is IPV4_IPV6.
       &quot;ipv6Address&quot;: &quot;A String&quot;, # [Output Only] An IPv6 internal network address for this network interface.
       &quot;kind&quot;: &quot;compute#networkInterface&quot;, # [Output Only] Type of the resource. Always compute#networkInterface for network interfaces.
       &quot;name&quot;: &quot;A String&quot;, # [Output Only] The name of the network interface, which is generated by the server. For network devices, these are eth0, eth1, etc.
@@ -5304,6 +5453,9 @@
           # - global/networks/default
       &quot;networkIP&quot;: &quot;A String&quot;, # An IPv4 internal IP address to assign to the instance for this network interface. If not specified by the user, an unused internal IP is assigned by the system.
       &quot;nicType&quot;: &quot;A String&quot;, # The type of vNIC to be used on this interface. This may be gVNIC or VirtioNet.
+      &quot;stackType&quot;: &quot;A String&quot;, # The stack type for this network interface to identify whether the IPv6 feature is enabled or not. If not specified, IPV4_ONLY will be used.
+          #
+          # This field can be both set at instance creation and update network interface operations.
       &quot;subnetwork&quot;: &quot;A String&quot;, # The URL of the Subnetwork resource for this instance. If the network resource is in legacy mode, do not specify this field. If the network is in auto subnet mode, specifying the subnetwork is optional. If the network is in custom subnet mode, specifying the subnetwork is required. If you specify this field, you can specify the subnetwork as a full or partial URL. For example, the following are all valid URLs:
           # - https://www.googleapis.com/compute/v1/projects/project/regions/region/subnetworks/subnetwork
           # - regions/region/subnetworks/subnetwork
@@ -5321,7 +5473,7 @@
     &quot;A String&quot;,
   ],
   &quot;satisfiesPzs&quot;: True or False, # [Output Only] Reserved for future use.
-  &quot;scheduling&quot;: { # Sets the scheduling options for an Instance. NextID: 20 # Sets the scheduling options for this instance.
+  &quot;scheduling&quot;: { # Sets the scheduling options for an Instance. NextID: 21 # Sets the scheduling options for this instance.
     &quot;automaticRestart&quot;: True or False, # Specifies whether the instance should be automatically restarted if it is terminated by Compute Engine (not terminated by a user). You can only set the automatic restart option for standard instances. Preemptible instances cannot be automatically restarted.
         #
         # By default, this is set to true so an instance is automatically restarted if it is terminated by Compute Engine.
@@ -5467,6 +5619,8 @@
     The object takes the form of:
 
 { # An access configuration attached to an instance&#x27;s network interface. Only one access config per instance is supported.
+  &quot;externalIpv6&quot;: &quot;A String&quot;, # [Output Only] The first IPv6 address of the external IPv6 range associated with this instance, prefix length is stored in externalIpv6PrefixLength in ipv6AccessConfig. The field is output only, an IPv6 address from a subnetwork associated with the instance will be allocated dynamically.
+  &quot;externalIpv6PrefixLength&quot;: 42, # [Output Only] The prefix length of the external IPv6 range.
   &quot;kind&quot;: &quot;compute#accessConfig&quot;, # [Output Only] Type of the resource. Always compute#accessConfig for access configs.
   &quot;name&quot;: &quot;A String&quot;, # The name of this access configuration. The default and recommended name is External NAT, but you can use any arbitrary string, such as My external IP or Network Access.
   &quot;natIP&quot;: &quot;A String&quot;, # An external IP address associated with this instance. Specify an unused static external IP address available to the project or leave this field undefined to use an IP from a shared ephemeral IP address pool. If you specify a static external IP address, it must live in the same region as the zone of the instance.
@@ -5650,6 +5804,8 @@
 { # A network interface resource attached to an instance.
   &quot;accessConfigs&quot;: [ # An array of configurations for this interface. Currently, only one access config, ONE_TO_ONE_NAT, is supported. If there are no accessConfigs specified, then this instance will have no external internet access.
     { # An access configuration attached to an instance&#x27;s network interface. Only one access config per instance is supported.
+      &quot;externalIpv6&quot;: &quot;A String&quot;, # [Output Only] The first IPv6 address of the external IPv6 range associated with this instance, prefix length is stored in externalIpv6PrefixLength in ipv6AccessConfig. The field is output only, an IPv6 address from a subnetwork associated with the instance will be allocated dynamically.
+      &quot;externalIpv6PrefixLength&quot;: 42, # [Output Only] The prefix length of the external IPv6 range.
       &quot;kind&quot;: &quot;compute#accessConfig&quot;, # [Output Only] Type of the resource. Always compute#accessConfig for access configs.
       &quot;name&quot;: &quot;A String&quot;, # The name of this access configuration. The default and recommended name is External NAT, but you can use any arbitrary string, such as My external IP or Network Access.
       &quot;natIP&quot;: &quot;A String&quot;, # An external IP address associated with this instance. Specify an unused static external IP address available to the project or leave this field undefined to use an IP from a shared ephemeral IP address pool. If you specify a static external IP address, it must live in the same region as the zone of the instance.
@@ -5670,6 +5826,26 @@
     },
   ],
   &quot;fingerprint&quot;: &quot;A String&quot;, # Fingerprint hash of contents stored in this network interface. This field will be ignored when inserting an Instance or adding a NetworkInterface. An up-to-date fingerprint must be provided in order to update the NetworkInterface. The request will fail with error 400 Bad Request if the fingerprint is not provided, or 412 Precondition Failed if the fingerprint is out of date.
+  &quot;ipv6AccessConfigs&quot;: [ # An array of IPv6 access configurations for this interface. Currently, only one IPv6 access config, DIRECT_IPV6, is supported. If there is no ipv6AccessConfig specified, then this instance will have no external IPv6 Internet access.
+    { # An access configuration attached to an instance&#x27;s network interface. Only one access config per instance is supported.
+      &quot;externalIpv6&quot;: &quot;A String&quot;, # [Output Only] The first IPv6 address of the external IPv6 range associated with this instance, prefix length is stored in externalIpv6PrefixLength in ipv6AccessConfig. The field is output only, an IPv6 address from a subnetwork associated with the instance will be allocated dynamically.
+      &quot;externalIpv6PrefixLength&quot;: 42, # [Output Only] The prefix length of the external IPv6 range.
+      &quot;kind&quot;: &quot;compute#accessConfig&quot;, # [Output Only] Type of the resource. Always compute#accessConfig for access configs.
+      &quot;name&quot;: &quot;A String&quot;, # The name of this access configuration. The default and recommended name is External NAT, but you can use any arbitrary string, such as My external IP or Network Access.
+      &quot;natIP&quot;: &quot;A String&quot;, # An external IP address associated with this instance. Specify an unused static external IP address available to the project or leave this field undefined to use an IP from a shared ephemeral IP address pool. If you specify a static external IP address, it must live in the same region as the zone of the instance.
+      &quot;networkTier&quot;: &quot;A String&quot;, # This signifies the networking tier used for configuring this access configuration and can only take the following values: PREMIUM, STANDARD.
+          #
+          # If an AccessConfig is specified without a valid external IP address, an ephemeral IP will be created with this networkTier.
+          #
+          # If an AccessConfig with a valid external IP address is specified, it must match that of the networkTier associated with the Address resource owning that IP.
+      &quot;publicPtrDomainName&quot;: &quot;A String&quot;, # The DNS domain name for the public PTR record. You can set this field only if the `setPublicPtr` field is enabled.
+      &quot;setPublicPtr&quot;: True or False, # Specifies whether a public DNS &#x27;PTR&#x27; record should be created to map the external IP address of the instance to a DNS domain name.
+      &quot;type&quot;: &quot;ONE_TO_ONE_NAT&quot;, # The type of configuration. The default and only option is ONE_TO_ONE_NAT.
+    },
+  ],
+  &quot;ipv6AccessType&quot;: &quot;A String&quot;, # [Output Only] One of EXTERNAL, INTERNAL to indicate whether the IP can be accessed from the Internet. This field is always inherited from its subnetwork.
+      # 
+      # Valid only if stackType is IPV4_IPV6.
   &quot;ipv6Address&quot;: &quot;A String&quot;, # [Output Only] An IPv6 internal network address for this network interface.
   &quot;kind&quot;: &quot;compute#networkInterface&quot;, # [Output Only] Type of the resource. Always compute#networkInterface for network interfaces.
   &quot;name&quot;: &quot;A String&quot;, # [Output Only] The name of the network interface, which is generated by the server. For network devices, these are eth0, eth1, etc.
@@ -5681,6 +5857,9 @@
       # - global/networks/default
   &quot;networkIP&quot;: &quot;A String&quot;, # An IPv4 internal IP address to assign to the instance for this network interface. If not specified by the user, an unused internal IP is assigned by the system.
   &quot;nicType&quot;: &quot;A String&quot;, # The type of vNIC to be used on this interface. This may be gVNIC or VirtioNet.
+  &quot;stackType&quot;: &quot;A String&quot;, # The stack type for this network interface to identify whether the IPv6 feature is enabled or not. If not specified, IPV4_ONLY will be used.
+      # 
+      # This field can be both set at instance creation and update network interface operations.
   &quot;subnetwork&quot;: &quot;A String&quot;, # The URL of the Subnetwork resource for this instance. If the network resource is in legacy mode, do not specify this field. If the network is in auto subnet mode, specifying the subnetwork is optional. If the network is in custom subnet mode, specifying the subnetwork is required. If you specify this field, you can specify the subnetwork as a full or partial URL. For example, the following are all valid URLs:
       # - https://www.googleapis.com/compute/v1/projects/project/regions/region/subnetworks/subnetwork
       # - regions/region/subnetworks/subnetwork
diff --git a/docs/dyn/compute_v1.regionBackendServices.html b/docs/dyn/compute_v1.regionBackendServices.html
index ca071db..97087d1 100644
--- a/docs/dyn/compute_v1.regionBackendServices.html
+++ b/docs/dyn/compute_v1.regionBackendServices.html
@@ -300,18 +300,12 @@
       &quot;A String&quot;,
     ],
   },
-  &quot;circuitBreakers&quot;: { # Settings controlling the volume of connections to a backend service. # Settings controlling the volume of connections to a backend service. If not set, this feature is considered disabled.
-      #
-      # This field is applicable to either:
-      # - A regional backend service with the service_protocol set to HTTP, HTTPS, or HTTP2, and load_balancing_scheme set to INTERNAL_MANAGED.
-      # - A global backend service with the load_balancing_scheme set to INTERNAL_SELF_MANAGED.
-      #
-      # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
-    &quot;maxConnections&quot;: 42, # The maximum number of connections to the backend service. If not specified, there is no limit.
-    &quot;maxPendingRequests&quot;: 42, # The maximum number of pending requests allowed to the backend service. If not specified, there is no limit.
+  &quot;circuitBreakers&quot;: { # Settings controlling the volume of connections to a backend service.
+    &quot;maxConnections&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
+    &quot;maxPendingRequests&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
     &quot;maxRequests&quot;: 42, # The maximum number of parallel requests that allowed to the backend service. If not specified, there is no limit.
-    &quot;maxRequestsPerConnection&quot;: 42, # Maximum requests for a single connection to the backend service. This parameter is respected by both the HTTP/1.1 and HTTP/2 implementations. If not specified, there is no limit. Setting this parameter to 1 will effectively disable keep alive.
-    &quot;maxRetries&quot;: 42, # The maximum number of parallel retries allowed to the backend cluster. If not specified, the default is 1.
+    &quot;maxRequestsPerConnection&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
+    &quot;maxRetries&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
   },
   &quot;connectionDraining&quot;: { # Message containing connection draining configuration.
     &quot;drainingTimeoutSec&quot;: 42, # Configures a duration timeout for existing requests on a removed backend instance. For supported load balancers and protocols, as described in Enabling connection draining.
@@ -386,6 +380,7 @@
   },
   &quot;maxStreamDuration&quot;: { # A Duration represents a fixed-length span of time represented as a count of seconds and fractions of seconds at nanosecond resolution. It is independent of any calendar and concepts like &quot;day&quot; or &quot;month&quot;. Range is approximately 10,000 years. # Specifies the default maximum duration (timeout) for streams to this service. Duration is computed from the beginning of the stream until the response has been completely processed, including all retries. A stream that does not complete in this duration is closed.
       # If not specified, there will be no timeout limit, i.e. the maximum duration is infinite.
+      # This value can be overridden in the PathMatcher configuration of the UrlMap that references this backend service.
       # This field is only allowed when the loadBalancingScheme of the backend service is INTERNAL_SELF_MANAGED.
     &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
     &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
@@ -456,7 +451,7 @@
       # When the loadBalancingScheme is INTERNAL_SELF_MANAGED, or INTERNAL_MANAGED, possible values are NONE, CLIENT_IP, GENERATED_COOKIE, HEADER_FIELD, or HTTP_COOKIE.
       #
       # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
-  &quot;timeoutSec&quot;: 42, # The backend service timeout has a different meaning depending on the type of load balancer. For more information see,  Backend service settings The default is 30 seconds. The full range of timeout values allowed is 1 - 2,147,483,647 seconds.
+  &quot;timeoutSec&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true. Instead, use maxStreamDuration.
 }</pre>
 </div>
 
@@ -615,18 +610,12 @@
       &quot;A String&quot;,
     ],
   },
-  &quot;circuitBreakers&quot;: { # Settings controlling the volume of connections to a backend service. # Settings controlling the volume of connections to a backend service. If not set, this feature is considered disabled.
-      # 
-      # This field is applicable to either:
-      # - A regional backend service with the service_protocol set to HTTP, HTTPS, or HTTP2, and load_balancing_scheme set to INTERNAL_MANAGED.
-      # - A global backend service with the load_balancing_scheme set to INTERNAL_SELF_MANAGED.
-      # 
-      # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
-    &quot;maxConnections&quot;: 42, # The maximum number of connections to the backend service. If not specified, there is no limit.
-    &quot;maxPendingRequests&quot;: 42, # The maximum number of pending requests allowed to the backend service. If not specified, there is no limit.
+  &quot;circuitBreakers&quot;: { # Settings controlling the volume of connections to a backend service.
+    &quot;maxConnections&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
+    &quot;maxPendingRequests&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
     &quot;maxRequests&quot;: 42, # The maximum number of parallel requests that allowed to the backend service. If not specified, there is no limit.
-    &quot;maxRequestsPerConnection&quot;: 42, # Maximum requests for a single connection to the backend service. This parameter is respected by both the HTTP/1.1 and HTTP/2 implementations. If not specified, there is no limit. Setting this parameter to 1 will effectively disable keep alive.
-    &quot;maxRetries&quot;: 42, # The maximum number of parallel retries allowed to the backend cluster. If not specified, the default is 1.
+    &quot;maxRequestsPerConnection&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
+    &quot;maxRetries&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
   },
   &quot;connectionDraining&quot;: { # Message containing connection draining configuration.
     &quot;drainingTimeoutSec&quot;: 42, # Configures a duration timeout for existing requests on a removed backend instance. For supported load balancers and protocols, as described in Enabling connection draining.
@@ -701,6 +690,7 @@
   },
   &quot;maxStreamDuration&quot;: { # A Duration represents a fixed-length span of time represented as a count of seconds and fractions of seconds at nanosecond resolution. It is independent of any calendar and concepts like &quot;day&quot; or &quot;month&quot;. Range is approximately 10,000 years. # Specifies the default maximum duration (timeout) for streams to this service. Duration is computed from the beginning of the stream until the response has been completely processed, including all retries. A stream that does not complete in this duration is closed.
       # If not specified, there will be no timeout limit, i.e. the maximum duration is infinite.
+      # This value can be overridden in the PathMatcher configuration of the UrlMap that references this backend service.
       # This field is only allowed when the loadBalancingScheme of the backend service is INTERNAL_SELF_MANAGED.
     &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
     &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
@@ -771,7 +761,7 @@
       # When the loadBalancingScheme is INTERNAL_SELF_MANAGED, or INTERNAL_MANAGED, possible values are NONE, CLIENT_IP, GENERATED_COOKIE, HEADER_FIELD, or HTTP_COOKIE.
       # 
       # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
-  &quot;timeoutSec&quot;: 42, # The backend service timeout has a different meaning depending on the type of load balancer. For more information see,  Backend service settings The default is 30 seconds. The full range of timeout values allowed is 1 - 2,147,483,647 seconds.
+  &quot;timeoutSec&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true. Instead, use maxStreamDuration.
 }
 
   requestId: string, An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.
@@ -976,18 +966,12 @@
           &quot;A String&quot;,
         ],
       },
-      &quot;circuitBreakers&quot;: { # Settings controlling the volume of connections to a backend service. # Settings controlling the volume of connections to a backend service. If not set, this feature is considered disabled.
-          #
-          # This field is applicable to either:
-          # - A regional backend service with the service_protocol set to HTTP, HTTPS, or HTTP2, and load_balancing_scheme set to INTERNAL_MANAGED.
-          # - A global backend service with the load_balancing_scheme set to INTERNAL_SELF_MANAGED.
-          #
-          # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
-        &quot;maxConnections&quot;: 42, # The maximum number of connections to the backend service. If not specified, there is no limit.
-        &quot;maxPendingRequests&quot;: 42, # The maximum number of pending requests allowed to the backend service. If not specified, there is no limit.
+      &quot;circuitBreakers&quot;: { # Settings controlling the volume of connections to a backend service.
+        &quot;maxConnections&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
+        &quot;maxPendingRequests&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
         &quot;maxRequests&quot;: 42, # The maximum number of parallel requests that allowed to the backend service. If not specified, there is no limit.
-        &quot;maxRequestsPerConnection&quot;: 42, # Maximum requests for a single connection to the backend service. This parameter is respected by both the HTTP/1.1 and HTTP/2 implementations. If not specified, there is no limit. Setting this parameter to 1 will effectively disable keep alive.
-        &quot;maxRetries&quot;: 42, # The maximum number of parallel retries allowed to the backend cluster. If not specified, the default is 1.
+        &quot;maxRequestsPerConnection&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
+        &quot;maxRetries&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
       },
       &quot;connectionDraining&quot;: { # Message containing connection draining configuration.
         &quot;drainingTimeoutSec&quot;: 42, # Configures a duration timeout for existing requests on a removed backend instance. For supported load balancers and protocols, as described in Enabling connection draining.
@@ -1062,6 +1046,7 @@
       },
       &quot;maxStreamDuration&quot;: { # A Duration represents a fixed-length span of time represented as a count of seconds and fractions of seconds at nanosecond resolution. It is independent of any calendar and concepts like &quot;day&quot; or &quot;month&quot;. Range is approximately 10,000 years. # Specifies the default maximum duration (timeout) for streams to this service. Duration is computed from the beginning of the stream until the response has been completely processed, including all retries. A stream that does not complete in this duration is closed.
           # If not specified, there will be no timeout limit, i.e. the maximum duration is infinite.
+          # This value can be overridden in the PathMatcher configuration of the UrlMap that references this backend service.
           # This field is only allowed when the loadBalancingScheme of the backend service is INTERNAL_SELF_MANAGED.
         &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
         &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
@@ -1132,7 +1117,7 @@
           # When the loadBalancingScheme is INTERNAL_SELF_MANAGED, or INTERNAL_MANAGED, possible values are NONE, CLIENT_IP, GENERATED_COOKIE, HEADER_FIELD, or HTTP_COOKIE.
           #
           # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
-      &quot;timeoutSec&quot;: 42, # The backend service timeout has a different meaning depending on the type of load balancer. For more information see,  Backend service settings The default is 30 seconds. The full range of timeout values allowed is 1 - 2,147,483,647 seconds.
+      &quot;timeoutSec&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true. Instead, use maxStreamDuration.
     },
   ],
   &quot;kind&quot;: &quot;compute#backendServiceList&quot;, # [Output Only] Type of resource. Always compute#backendServiceList for lists of backend services.
@@ -1280,18 +1265,12 @@
       &quot;A String&quot;,
     ],
   },
-  &quot;circuitBreakers&quot;: { # Settings controlling the volume of connections to a backend service. # Settings controlling the volume of connections to a backend service. If not set, this feature is considered disabled.
-      # 
-      # This field is applicable to either:
-      # - A regional backend service with the service_protocol set to HTTP, HTTPS, or HTTP2, and load_balancing_scheme set to INTERNAL_MANAGED.
-      # - A global backend service with the load_balancing_scheme set to INTERNAL_SELF_MANAGED.
-      # 
-      # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
-    &quot;maxConnections&quot;: 42, # The maximum number of connections to the backend service. If not specified, there is no limit.
-    &quot;maxPendingRequests&quot;: 42, # The maximum number of pending requests allowed to the backend service. If not specified, there is no limit.
+  &quot;circuitBreakers&quot;: { # Settings controlling the volume of connections to a backend service.
+    &quot;maxConnections&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
+    &quot;maxPendingRequests&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
     &quot;maxRequests&quot;: 42, # The maximum number of parallel requests that allowed to the backend service. If not specified, there is no limit.
-    &quot;maxRequestsPerConnection&quot;: 42, # Maximum requests for a single connection to the backend service. This parameter is respected by both the HTTP/1.1 and HTTP/2 implementations. If not specified, there is no limit. Setting this parameter to 1 will effectively disable keep alive.
-    &quot;maxRetries&quot;: 42, # The maximum number of parallel retries allowed to the backend cluster. If not specified, the default is 1.
+    &quot;maxRequestsPerConnection&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
+    &quot;maxRetries&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
   },
   &quot;connectionDraining&quot;: { # Message containing connection draining configuration.
     &quot;drainingTimeoutSec&quot;: 42, # Configures a duration timeout for existing requests on a removed backend instance. For supported load balancers and protocols, as described in Enabling connection draining.
@@ -1366,6 +1345,7 @@
   },
   &quot;maxStreamDuration&quot;: { # A Duration represents a fixed-length span of time represented as a count of seconds and fractions of seconds at nanosecond resolution. It is independent of any calendar and concepts like &quot;day&quot; or &quot;month&quot;. Range is approximately 10,000 years. # Specifies the default maximum duration (timeout) for streams to this service. Duration is computed from the beginning of the stream until the response has been completely processed, including all retries. A stream that does not complete in this duration is closed.
       # If not specified, there will be no timeout limit, i.e. the maximum duration is infinite.
+      # This value can be overridden in the PathMatcher configuration of the UrlMap that references this backend service.
       # This field is only allowed when the loadBalancingScheme of the backend service is INTERNAL_SELF_MANAGED.
     &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
     &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
@@ -1436,7 +1416,7 @@
       # When the loadBalancingScheme is INTERNAL_SELF_MANAGED, or INTERNAL_MANAGED, possible values are NONE, CLIENT_IP, GENERATED_COOKIE, HEADER_FIELD, or HTTP_COOKIE.
       # 
       # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
-  &quot;timeoutSec&quot;: 42, # The backend service timeout has a different meaning depending on the type of load balancer. For more information see,  Backend service settings The default is 30 seconds. The full range of timeout values allowed is 1 - 2,147,483,647 seconds.
+  &quot;timeoutSec&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true. Instead, use maxStreamDuration.
 }
 
   requestId: string, An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.
@@ -1623,18 +1603,12 @@
       &quot;A String&quot;,
     ],
   },
-  &quot;circuitBreakers&quot;: { # Settings controlling the volume of connections to a backend service. # Settings controlling the volume of connections to a backend service. If not set, this feature is considered disabled.
-      # 
-      # This field is applicable to either:
-      # - A regional backend service with the service_protocol set to HTTP, HTTPS, or HTTP2, and load_balancing_scheme set to INTERNAL_MANAGED.
-      # - A global backend service with the load_balancing_scheme set to INTERNAL_SELF_MANAGED.
-      # 
-      # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
-    &quot;maxConnections&quot;: 42, # The maximum number of connections to the backend service. If not specified, there is no limit.
-    &quot;maxPendingRequests&quot;: 42, # The maximum number of pending requests allowed to the backend service. If not specified, there is no limit.
+  &quot;circuitBreakers&quot;: { # Settings controlling the volume of connections to a backend service.
+    &quot;maxConnections&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
+    &quot;maxPendingRequests&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
     &quot;maxRequests&quot;: 42, # The maximum number of parallel requests that allowed to the backend service. If not specified, there is no limit.
-    &quot;maxRequestsPerConnection&quot;: 42, # Maximum requests for a single connection to the backend service. This parameter is respected by both the HTTP/1.1 and HTTP/2 implementations. If not specified, there is no limit. Setting this parameter to 1 will effectively disable keep alive.
-    &quot;maxRetries&quot;: 42, # The maximum number of parallel retries allowed to the backend cluster. If not specified, the default is 1.
+    &quot;maxRequestsPerConnection&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
+    &quot;maxRetries&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
   },
   &quot;connectionDraining&quot;: { # Message containing connection draining configuration.
     &quot;drainingTimeoutSec&quot;: 42, # Configures a duration timeout for existing requests on a removed backend instance. For supported load balancers and protocols, as described in Enabling connection draining.
@@ -1709,6 +1683,7 @@
   },
   &quot;maxStreamDuration&quot;: { # A Duration represents a fixed-length span of time represented as a count of seconds and fractions of seconds at nanosecond resolution. It is independent of any calendar and concepts like &quot;day&quot; or &quot;month&quot;. Range is approximately 10,000 years. # Specifies the default maximum duration (timeout) for streams to this service. Duration is computed from the beginning of the stream until the response has been completely processed, including all retries. A stream that does not complete in this duration is closed.
       # If not specified, there will be no timeout limit, i.e. the maximum duration is infinite.
+      # This value can be overridden in the PathMatcher configuration of the UrlMap that references this backend service.
       # This field is only allowed when the loadBalancingScheme of the backend service is INTERNAL_SELF_MANAGED.
     &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
     &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
@@ -1779,7 +1754,7 @@
       # When the loadBalancingScheme is INTERNAL_SELF_MANAGED, or INTERNAL_MANAGED, possible values are NONE, CLIENT_IP, GENERATED_COOKIE, HEADER_FIELD, or HTTP_COOKIE.
       # 
       # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
-  &quot;timeoutSec&quot;: 42, # The backend service timeout has a different meaning depending on the type of load balancer. For more information see,  Backend service settings The default is 30 seconds. The full range of timeout values allowed is 1 - 2,147,483,647 seconds.
+  &quot;timeoutSec&quot;: 42, # Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true. Instead, use maxStreamDuration.
 }
 
   requestId: string, An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.
diff --git a/docs/dyn/compute_v1.regionHealthCheckServices.html b/docs/dyn/compute_v1.regionHealthCheckServices.html
index dfbcec6..a3c61e1 100644
--- a/docs/dyn/compute_v1.regionHealthCheckServices.html
+++ b/docs/dyn/compute_v1.regionHealthCheckServices.html
@@ -197,7 +197,7 @@
   &quot;creationTimestamp&quot;: &quot;A String&quot;, # [Output Only] Creation timestamp in RFC3339 text format.
   &quot;description&quot;: &quot;A String&quot;, # An optional description of this resource. Provide this property when you create the resource.
   &quot;fingerprint&quot;: &quot;A String&quot;, # Fingerprint of this resource. A hash of the contents stored in this object. This field is used in optimistic locking. This field will be ignored when inserting a HealthCheckService. An up-to-date fingerprint must be provided in order to patch/update the HealthCheckService; Otherwise, the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve the HealthCheckService.
-  &quot;healthChecks&quot;: [ # List of URLs to the HealthCheck resources. Must have at least one HealthCheck, and not more than 10. HealthCheck resources must have portSpecification=USE_SERVING_PORT. For regional HealthCheckService, the HealthCheck must be regional and in the same region. For global HealthCheckService, HealthCheck must be global. Mix of regional and global HealthChecks is not supported. Multiple regional HealthChecks must belong to the same region. Regional HealthChecks&lt;/code? must belong to the same region as zones of NEGs.
+  &quot;healthChecks&quot;: [ # List of URLs to the HealthCheck resources. Must have at least one HealthCheck, and not more than 10. HealthCheck resources must have portSpecification=USE_SERVING_PORT or portSpecification=USE_FIXED_PORT. For regional HealthCheckService, the HealthCheck must be regional and in the same region. For global HealthCheckService, HealthCheck must be global. Mix of regional and global HealthChecks is not supported. Multiple regional HealthChecks must belong to the same region. Regional HealthChecks must belong to the same region as zones of NEGs.
     &quot;A String&quot;,
   ],
   &quot;healthStatusAggregationPolicy&quot;: &quot;A String&quot;, # Optional. Policy for how the results from multiple health checks for the same endpoint are aggregated. Defaults to NO_AGGREGATION if unspecified.
@@ -233,7 +233,7 @@
   &quot;creationTimestamp&quot;: &quot;A String&quot;, # [Output Only] Creation timestamp in RFC3339 text format.
   &quot;description&quot;: &quot;A String&quot;, # An optional description of this resource. Provide this property when you create the resource.
   &quot;fingerprint&quot;: &quot;A String&quot;, # Fingerprint of this resource. A hash of the contents stored in this object. This field is used in optimistic locking. This field will be ignored when inserting a HealthCheckService. An up-to-date fingerprint must be provided in order to patch/update the HealthCheckService; Otherwise, the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve the HealthCheckService.
-  &quot;healthChecks&quot;: [ # List of URLs to the HealthCheck resources. Must have at least one HealthCheck, and not more than 10. HealthCheck resources must have portSpecification=USE_SERVING_PORT. For regional HealthCheckService, the HealthCheck must be regional and in the same region. For global HealthCheckService, HealthCheck must be global. Mix of regional and global HealthChecks is not supported. Multiple regional HealthChecks must belong to the same region. Regional HealthChecks&lt;/code? must belong to the same region as zones of NEGs.
+  &quot;healthChecks&quot;: [ # List of URLs to the HealthCheck resources. Must have at least one HealthCheck, and not more than 10. HealthCheck resources must have portSpecification=USE_SERVING_PORT or portSpecification=USE_FIXED_PORT. For regional HealthCheckService, the HealthCheck must be regional and in the same region. For global HealthCheckService, HealthCheck must be global. Mix of regional and global HealthChecks is not supported. Multiple regional HealthChecks must belong to the same region. Regional HealthChecks must belong to the same region as zones of NEGs.
     &quot;A String&quot;,
   ],
   &quot;healthStatusAggregationPolicy&quot;: &quot;A String&quot;, # Optional. Policy for how the results from multiple health checks for the same endpoint are aggregated. Defaults to NO_AGGREGATION if unspecified.
@@ -357,7 +357,7 @@
       &quot;creationTimestamp&quot;: &quot;A String&quot;, # [Output Only] Creation timestamp in RFC3339 text format.
       &quot;description&quot;: &quot;A String&quot;, # An optional description of this resource. Provide this property when you create the resource.
       &quot;fingerprint&quot;: &quot;A String&quot;, # Fingerprint of this resource. A hash of the contents stored in this object. This field is used in optimistic locking. This field will be ignored when inserting a HealthCheckService. An up-to-date fingerprint must be provided in order to patch/update the HealthCheckService; Otherwise, the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve the HealthCheckService.
-      &quot;healthChecks&quot;: [ # List of URLs to the HealthCheck resources. Must have at least one HealthCheck, and not more than 10. HealthCheck resources must have portSpecification=USE_SERVING_PORT. For regional HealthCheckService, the HealthCheck must be regional and in the same region. For global HealthCheckService, HealthCheck must be global. Mix of regional and global HealthChecks is not supported. Multiple regional HealthChecks must belong to the same region. Regional HealthChecks&lt;/code? must belong to the same region as zones of NEGs.
+      &quot;healthChecks&quot;: [ # List of URLs to the HealthCheck resources. Must have at least one HealthCheck, and not more than 10. HealthCheck resources must have portSpecification=USE_SERVING_PORT or portSpecification=USE_FIXED_PORT. For regional HealthCheckService, the HealthCheck must be regional and in the same region. For global HealthCheckService, HealthCheck must be global. Mix of regional and global HealthChecks is not supported. Multiple regional HealthChecks must belong to the same region. Regional HealthChecks must belong to the same region as zones of NEGs.
         &quot;A String&quot;,
       ],
       &quot;healthStatusAggregationPolicy&quot;: &quot;A String&quot;, # Optional. Policy for how the results from multiple health checks for the same endpoint are aggregated. Defaults to NO_AGGREGATION if unspecified.
@@ -424,7 +424,7 @@
   &quot;creationTimestamp&quot;: &quot;A String&quot;, # [Output Only] Creation timestamp in RFC3339 text format.
   &quot;description&quot;: &quot;A String&quot;, # An optional description of this resource. Provide this property when you create the resource.
   &quot;fingerprint&quot;: &quot;A String&quot;, # Fingerprint of this resource. A hash of the contents stored in this object. This field is used in optimistic locking. This field will be ignored when inserting a HealthCheckService. An up-to-date fingerprint must be provided in order to patch/update the HealthCheckService; Otherwise, the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve the HealthCheckService.
-  &quot;healthChecks&quot;: [ # List of URLs to the HealthCheck resources. Must have at least one HealthCheck, and not more than 10. HealthCheck resources must have portSpecification=USE_SERVING_PORT. For regional HealthCheckService, the HealthCheck must be regional and in the same region. For global HealthCheckService, HealthCheck must be global. Mix of regional and global HealthChecks is not supported. Multiple regional HealthChecks must belong to the same region. Regional HealthChecks&lt;/code? must belong to the same region as zones of NEGs.
+  &quot;healthChecks&quot;: [ # List of URLs to the HealthCheck resources. Must have at least one HealthCheck, and not more than 10. HealthCheck resources must have portSpecification=USE_SERVING_PORT or portSpecification=USE_FIXED_PORT. For regional HealthCheckService, the HealthCheck must be regional and in the same region. For global HealthCheckService, HealthCheck must be global. Mix of regional and global HealthChecks is not supported. Multiple regional HealthChecks must belong to the same region. Regional HealthChecks must belong to the same region as zones of NEGs.
     &quot;A String&quot;,
   ],
   &quot;healthStatusAggregationPolicy&quot;: &quot;A String&quot;, # Optional. Policy for how the results from multiple health checks for the same endpoint are aggregated. Defaults to NO_AGGREGATION if unspecified.
diff --git a/docs/dyn/compute_v1.regionInstanceGroupManagers.html b/docs/dyn/compute_v1.regionInstanceGroupManagers.html
index 1df74bf..0d38708 100644
--- a/docs/dyn/compute_v1.regionInstanceGroupManagers.html
+++ b/docs/dyn/compute_v1.regionInstanceGroupManagers.html
@@ -702,7 +702,9 @@
 Returns:
   An object of the form:
 
-    { # Represents a Managed Instance Group resource.
+    { # Whether the instance is a standby. Properties of a standby instance comparing to the regular instance: ========================================================================= | regular | standby ========================================================================= managed by IGM? | yes | yes added to the IG? | yes | yes counts towards IGM&#x27;s target size? | yes | no taken into account by Autoscaler? | yes | no receives traffic from LB? | yes | no =========================================================================
+    #
+    # Represents a Managed Instance Group resource.
     #
     # An instance group is a collection of VM instances that you can manage as a single entity. For more information, read Instance groups.
     #
@@ -850,7 +852,9 @@
   body: object, The request body.
     The object takes the form of:
 
-{ # Represents a Managed Instance Group resource.
+{ # Whether the instance is a standby. Properties of a standby instance comparing to the regular instance: ========================================================================= | regular | standby ========================================================================= managed by IGM? | yes | yes added to the IG? | yes | yes counts towards IGM&#x27;s target size? | yes | no taken into account by Autoscaler? | yes | no receives traffic from LB? | yes | no =========================================================================
+    # 
+    # Represents a Managed Instance Group resource.
     # 
     # An instance group is a collection of VM instances that you can manage as a single entity. For more information, read Instance groups.
     # 
@@ -1084,7 +1088,9 @@
     { # Contains a list of managed instance groups.
   &quot;id&quot;: &quot;A String&quot;, # [Output Only] Unique identifier for the resource; defined by the server.
   &quot;items&quot;: [ # A list of InstanceGroupManager resources.
-    { # Represents a Managed Instance Group resource.
+    { # Whether the instance is a standby. Properties of a standby instance comparing to the regular instance: ========================================================================= | regular | standby ========================================================================= managed by IGM? | yes | yes added to the IG? | yes | yes counts towards IGM&#x27;s target size? | yes | no taken into account by Autoscaler? | yes | no receives traffic from LB? | yes | no =========================================================================
+        #
+        # Represents a Managed Instance Group resource.
         #
         # An instance group is a collection of VM instances that you can manage as a single entity. For more information, read Instance groups.
         #
@@ -1508,7 +1514,9 @@
   body: object, The request body.
     The object takes the form of:
 
-{ # Represents a Managed Instance Group resource.
+{ # Whether the instance is a standby. Properties of a standby instance comparing to the regular instance: ========================================================================= | regular | standby ========================================================================= managed by IGM? | yes | yes added to the IG? | yes | yes counts towards IGM&#x27;s target size? | yes | no taken into account by Autoscaler? | yes | no receives traffic from LB? | yes | no =========================================================================
+    # 
+    # Represents a Managed Instance Group resource.
     # 
     # An instance group is a collection of VM instances that you can manage as a single entity. For more information, read Instance groups.
     # 
diff --git a/docs/dyn/compute_v1.regionInstances.html b/docs/dyn/compute_v1.regionInstances.html
index 985d348..76946a8 100644
--- a/docs/dyn/compute_v1.regionInstances.html
+++ b/docs/dyn/compute_v1.regionInstances.html
@@ -91,7 +91,7 @@
   body: object, The request body.
     The object takes the form of:
 
-{
+{ # A transient resource used in compute.instances.bulkInsert and compute.regionInstances.bulkInsert and compute.regionInstances.recommendLocations. This resource is not persisted anywhere, it is used only for processing the requests.
   &quot;count&quot;: &quot;A String&quot;, # The maximum number of instances to create.
   &quot;instanceProperties&quot;: { # The instance properties defining the VM instances to be created. Required if sourceInstanceTemplate is not provided.
     &quot;advancedMachineFeatures&quot;: { # Specifies options for controlling advanced machine features. Options that would traditionally be configured in a BIOS belong here. Features that require operating system support may have corresponding entries in the GuestOsFeatures of an Image (e.g., whether or not the OS in the Image supports nested virtualization being enabled or disabled). # Controls for advanced machine-related behavior features.
@@ -261,6 +261,8 @@
       { # A network interface resource attached to an instance.
         &quot;accessConfigs&quot;: [ # An array of configurations for this interface. Currently, only one access config, ONE_TO_ONE_NAT, is supported. If there are no accessConfigs specified, then this instance will have no external internet access.
           { # An access configuration attached to an instance&#x27;s network interface. Only one access config per instance is supported.
+            &quot;externalIpv6&quot;: &quot;A String&quot;, # [Output Only] The first IPv6 address of the external IPv6 range associated with this instance, prefix length is stored in externalIpv6PrefixLength in ipv6AccessConfig. The field is output only, an IPv6 address from a subnetwork associated with the instance will be allocated dynamically.
+            &quot;externalIpv6PrefixLength&quot;: 42, # [Output Only] The prefix length of the external IPv6 range.
             &quot;kind&quot;: &quot;compute#accessConfig&quot;, # [Output Only] Type of the resource. Always compute#accessConfig for access configs.
             &quot;name&quot;: &quot;A String&quot;, # The name of this access configuration. The default and recommended name is External NAT, but you can use any arbitrary string, such as My external IP or Network Access.
             &quot;natIP&quot;: &quot;A String&quot;, # An external IP address associated with this instance. Specify an unused static external IP address available to the project or leave this field undefined to use an IP from a shared ephemeral IP address pool. If you specify a static external IP address, it must live in the same region as the zone of the instance.
@@ -281,6 +283,26 @@
           },
         ],
         &quot;fingerprint&quot;: &quot;A String&quot;, # Fingerprint hash of contents stored in this network interface. This field will be ignored when inserting an Instance or adding a NetworkInterface. An up-to-date fingerprint must be provided in order to update the NetworkInterface. The request will fail with error 400 Bad Request if the fingerprint is not provided, or 412 Precondition Failed if the fingerprint is out of date.
+        &quot;ipv6AccessConfigs&quot;: [ # An array of IPv6 access configurations for this interface. Currently, only one IPv6 access config, DIRECT_IPV6, is supported. If there is no ipv6AccessConfig specified, then this instance will have no external IPv6 Internet access.
+          { # An access configuration attached to an instance&#x27;s network interface. Only one access config per instance is supported.
+            &quot;externalIpv6&quot;: &quot;A String&quot;, # [Output Only] The first IPv6 address of the external IPv6 range associated with this instance, prefix length is stored in externalIpv6PrefixLength in ipv6AccessConfig. The field is output only, an IPv6 address from a subnetwork associated with the instance will be allocated dynamically.
+            &quot;externalIpv6PrefixLength&quot;: 42, # [Output Only] The prefix length of the external IPv6 range.
+            &quot;kind&quot;: &quot;compute#accessConfig&quot;, # [Output Only] Type of the resource. Always compute#accessConfig for access configs.
+            &quot;name&quot;: &quot;A String&quot;, # The name of this access configuration. The default and recommended name is External NAT, but you can use any arbitrary string, such as My external IP or Network Access.
+            &quot;natIP&quot;: &quot;A String&quot;, # An external IP address associated with this instance. Specify an unused static external IP address available to the project or leave this field undefined to use an IP from a shared ephemeral IP address pool. If you specify a static external IP address, it must live in the same region as the zone of the instance.
+            &quot;networkTier&quot;: &quot;A String&quot;, # This signifies the networking tier used for configuring this access configuration and can only take the following values: PREMIUM, STANDARD.
+                #
+                # If an AccessConfig is specified without a valid external IP address, an ephemeral IP will be created with this networkTier.
+                #
+                # If an AccessConfig with a valid external IP address is specified, it must match that of the networkTier associated with the Address resource owning that IP.
+            &quot;publicPtrDomainName&quot;: &quot;A String&quot;, # The DNS domain name for the public PTR record. You can set this field only if the `setPublicPtr` field is enabled.
+            &quot;setPublicPtr&quot;: True or False, # Specifies whether a public DNS &#x27;PTR&#x27; record should be created to map the external IP address of the instance to a DNS domain name.
+            &quot;type&quot;: &quot;ONE_TO_ONE_NAT&quot;, # The type of configuration. The default and only option is ONE_TO_ONE_NAT.
+          },
+        ],
+        &quot;ipv6AccessType&quot;: &quot;A String&quot;, # [Output Only] One of EXTERNAL, INTERNAL to indicate whether the IP can be accessed from the Internet. This field is always inherited from its subnetwork.
+            #
+            # Valid only if stackType is IPV4_IPV6.
         &quot;ipv6Address&quot;: &quot;A String&quot;, # [Output Only] An IPv6 internal network address for this network interface.
         &quot;kind&quot;: &quot;compute#networkInterface&quot;, # [Output Only] Type of the resource. Always compute#networkInterface for network interfaces.
         &quot;name&quot;: &quot;A String&quot;, # [Output Only] The name of the network interface, which is generated by the server. For network devices, these are eth0, eth1, etc.
@@ -292,6 +314,9 @@
             # - global/networks/default
         &quot;networkIP&quot;: &quot;A String&quot;, # An IPv4 internal IP address to assign to the instance for this network interface. If not specified by the user, an unused internal IP is assigned by the system.
         &quot;nicType&quot;: &quot;A String&quot;, # The type of vNIC to be used on this interface. This may be gVNIC or VirtioNet.
+        &quot;stackType&quot;: &quot;A String&quot;, # The stack type for this network interface to identify whether the IPv6 feature is enabled or not. If not specified, IPV4_ONLY will be used.
+            #
+            # This field can be both set at instance creation and update network interface operations.
         &quot;subnetwork&quot;: &quot;A String&quot;, # The URL of the Subnetwork resource for this instance. If the network resource is in legacy mode, do not specify this field. If the network is in auto subnet mode, specifying the subnetwork is optional. If the network is in custom subnet mode, specifying the subnetwork is required. If you specify this field, you can specify the subnetwork as a full or partial URL. For example, the following are all valid URLs:
             # - https://www.googleapis.com/compute/v1/projects/project/regions/region/subnetworks/subnetwork
             # - regions/region/subnetworks/subnetwork
@@ -308,7 +333,7 @@
     &quot;resourcePolicies&quot;: [ # Resource policies (names, not ULRs) applied to instances created from these properties.
       &quot;A String&quot;,
     ],
-    &quot;scheduling&quot;: { # Sets the scheduling options for an Instance. NextID: 20 # Specifies the scheduling options for the instances that are created from these properties.
+    &quot;scheduling&quot;: { # Sets the scheduling options for an Instance. NextID: 21 # Specifies the scheduling options for the instances that are created from these properties.
       &quot;automaticRestart&quot;: True or False, # Specifies whether the instance should be automatically restarted if it is terminated by Compute Engine (not terminated by a user). You can only set the automatic restart option for standard instances. Preemptible instances cannot be automatically restarted.
           #
           # By default, this is set to true so an instance is automatically restarted if it is terminated by Compute Engine.
@@ -351,7 +376,7 @@
   &quot;locationPolicy&quot;: { # Configuration for location policy among multiple possible locations (e.g. preferences for zone selection among zones in a single region). # Policy for chosing target zone.
     &quot;locations&quot;: { # Location configurations mapped by location name. Currently only zone names are supported and must be represented as valid internal URLs, such as zones/us-central1-a.
       &quot;a_key&quot;: {
-        &quot;preference&quot;: &quot;A String&quot;, # Preference for a given locaction: ALLOW or DENY.
+        &quot;preference&quot;: &quot;A String&quot;, # Preference for a given location: ALLOW or DENY.
       },
     },
   },
diff --git a/docs/dyn/compute_v1.regionTargetHttpsProxies.html b/docs/dyn/compute_v1.regionTargetHttpsProxies.html
index 81f0dd2..7f76853 100644
--- a/docs/dyn/compute_v1.regionTargetHttpsProxies.html
+++ b/docs/dyn/compute_v1.regionTargetHttpsProxies.html
@@ -231,7 +231,7 @@
       # serverTlsPolicy only applies to a global TargetHttpsProxy attached to globalForwardingRules with the loadBalancingScheme set to INTERNAL_SELF_MANAGED.
       # If left blank, communications are not encrypted.
       # Note: This field currently has no impact.
-  &quot;sslCertificates&quot;: [ # URLs to SslCertificate resources that are used to authenticate connections between users and the load balancer. At least one SSL certificate must be specified. Currently, you may specify up to 15 SSL certificates.
+  &quot;sslCertificates&quot;: [ # URLs to SslCertificate resources that are used to authenticate connections between users and the load balancer. At least one SSL certificate must be specified. Currently, you may specify up to 15 SSL certificates. sslCertificates do not apply when the load balancing scheme is set to INTERNAL_SELF_MANAGED.
     &quot;A String&quot;,
   ],
   &quot;sslPolicy&quot;: &quot;A String&quot;, # URL of SslPolicy resource that will be associated with the TargetHttpsProxy resource. If not set, the TargetHttpsProxy resource has no SSL policy configured.
@@ -289,7 +289,7 @@
       # serverTlsPolicy only applies to a global TargetHttpsProxy attached to globalForwardingRules with the loadBalancingScheme set to INTERNAL_SELF_MANAGED.
       # If left blank, communications are not encrypted.
       # Note: This field currently has no impact.
-  &quot;sslCertificates&quot;: [ # URLs to SslCertificate resources that are used to authenticate connections between users and the load balancer. At least one SSL certificate must be specified. Currently, you may specify up to 15 SSL certificates.
+  &quot;sslCertificates&quot;: [ # URLs to SslCertificate resources that are used to authenticate connections between users and the load balancer. At least one SSL certificate must be specified. Currently, you may specify up to 15 SSL certificates. sslCertificates do not apply when the load balancing scheme is set to INTERNAL_SELF_MANAGED.
     &quot;A String&quot;,
   ],
   &quot;sslPolicy&quot;: &quot;A String&quot;, # URL of SslPolicy resource that will be associated with the TargetHttpsProxy resource. If not set, the TargetHttpsProxy resource has no SSL policy configured.
@@ -435,7 +435,7 @@
           # serverTlsPolicy only applies to a global TargetHttpsProxy attached to globalForwardingRules with the loadBalancingScheme set to INTERNAL_SELF_MANAGED.
           # If left blank, communications are not encrypted.
           # Note: This field currently has no impact.
-      &quot;sslCertificates&quot;: [ # URLs to SslCertificate resources that are used to authenticate connections between users and the load balancer. At least one SSL certificate must be specified. Currently, you may specify up to 15 SSL certificates.
+      &quot;sslCertificates&quot;: [ # URLs to SslCertificate resources that are used to authenticate connections between users and the load balancer. At least one SSL certificate must be specified. Currently, you may specify up to 15 SSL certificates. sslCertificates do not apply when the load balancing scheme is set to INTERNAL_SELF_MANAGED.
         &quot;A String&quot;,
       ],
       &quot;sslPolicy&quot;: &quot;A String&quot;, # URL of SslPolicy resource that will be associated with the TargetHttpsProxy resource. If not set, the TargetHttpsProxy resource has no SSL policy configured.
diff --git a/docs/dyn/compute_v1.regionUrlMaps.html b/docs/dyn/compute_v1.regionUrlMaps.html
index 5fdc47a..b0aa397 100644
--- a/docs/dyn/compute_v1.regionUrlMaps.html
+++ b/docs/dyn/compute_v1.regionUrlMaps.html
@@ -241,10 +241,10 @@
     },
     &quot;faultInjectionPolicy&quot;: { # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests. # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests.
         # timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy.
-        # Not supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true.
       &quot;abort&quot;: { # Specification for how requests are aborted as part of fault injection. # The specification for how client requests are aborted as part of fault injection.
         &quot;httpStatus&quot;: 42, # The HTTP status code used to abort the request.
             # The value must be between 200 and 599 inclusive.
+            # For gRPC protocol, the gRPC status code is mapped to HTTP status code according to this  mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
         &quot;percentage&quot;: 3.14, # The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.
             # The value must be between 0.0 and 100.0 inclusive.
       },
@@ -275,7 +275,7 @@
         &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
         &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
       },
-      &quot;retryConditions&quot;: [ # Specfies one or more conditions when this retry rule applies. Valid values are:
+      &quot;retryConditions&quot;: [ # Specifies one or more conditions when this retry rule applies. Valid values are:
           # - 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, or if the backend service does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams.
           # - gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.
           # -
@@ -442,10 +442,10 @@
         },
         &quot;faultInjectionPolicy&quot;: { # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests. # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests.
             # timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy.
-            # Not supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true.
           &quot;abort&quot;: { # Specification for how requests are aborted as part of fault injection. # The specification for how client requests are aborted as part of fault injection.
             &quot;httpStatus&quot;: 42, # The HTTP status code used to abort the request.
                 # The value must be between 200 and 599 inclusive.
+                # For gRPC protocol, the gRPC status code is mapped to HTTP status code according to this  mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
             &quot;percentage&quot;: 3.14, # The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.
                 # The value must be between 0.0 and 100.0 inclusive.
           },
@@ -476,7 +476,7 @@
             &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
             &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
           },
-          &quot;retryConditions&quot;: [ # Specfies one or more conditions when this retry rule applies. Valid values are:
+          &quot;retryConditions&quot;: [ # Specifies one or more conditions when this retry rule applies. Valid values are:
               # - 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, or if the backend service does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams.
               # - gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.
               # -
@@ -638,10 +638,10 @@
             },
             &quot;faultInjectionPolicy&quot;: { # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests. # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests.
                 # timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy.
-                # Not supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true.
               &quot;abort&quot;: { # Specification for how requests are aborted as part of fault injection. # The specification for how client requests are aborted as part of fault injection.
                 &quot;httpStatus&quot;: 42, # The HTTP status code used to abort the request.
                     # The value must be between 200 and 599 inclusive.
+                    # For gRPC protocol, the gRPC status code is mapped to HTTP status code according to this  mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
                 &quot;percentage&quot;: 3.14, # The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.
                     # The value must be between 0.0 and 100.0 inclusive.
               },
@@ -672,7 +672,7 @@
                 &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
                 &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
               },
-              &quot;retryConditions&quot;: [ # Specfies one or more conditions when this retry rule applies. Valid values are:
+              &quot;retryConditions&quot;: [ # Specifies one or more conditions when this retry rule applies. Valid values are:
                   # - 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, or if the backend service does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams.
                   # - gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.
                   # -
@@ -915,10 +915,10 @@
             },
             &quot;faultInjectionPolicy&quot;: { # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests. # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests.
                 # timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy.
-                # Not supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true.
               &quot;abort&quot;: { # Specification for how requests are aborted as part of fault injection. # The specification for how client requests are aborted as part of fault injection.
                 &quot;httpStatus&quot;: 42, # The HTTP status code used to abort the request.
                     # The value must be between 200 and 599 inclusive.
+                    # For gRPC protocol, the gRPC status code is mapped to HTTP status code according to this  mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
                 &quot;percentage&quot;: 3.14, # The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.
                     # The value must be between 0.0 and 100.0 inclusive.
               },
@@ -949,7 +949,7 @@
                 &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
                 &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
               },
-              &quot;retryConditions&quot;: [ # Specfies one or more conditions when this retry rule applies. Valid values are:
+              &quot;retryConditions&quot;: [ # Specifies one or more conditions when this retry rule applies. Valid values are:
                   # - 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, or if the backend service does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams.
                   # - gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.
                   # -
@@ -1129,10 +1129,10 @@
     },
     &quot;faultInjectionPolicy&quot;: { # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests. # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests.
         # timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy.
-        # Not supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true.
       &quot;abort&quot;: { # Specification for how requests are aborted as part of fault injection. # The specification for how client requests are aborted as part of fault injection.
         &quot;httpStatus&quot;: 42, # The HTTP status code used to abort the request.
             # The value must be between 200 and 599 inclusive.
+            # For gRPC protocol, the gRPC status code is mapped to HTTP status code according to this  mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
         &quot;percentage&quot;: 3.14, # The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.
             # The value must be between 0.0 and 100.0 inclusive.
       },
@@ -1163,7 +1163,7 @@
         &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
         &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
       },
-      &quot;retryConditions&quot;: [ # Specfies one or more conditions when this retry rule applies. Valid values are:
+      &quot;retryConditions&quot;: [ # Specifies one or more conditions when this retry rule applies. Valid values are:
           # - 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, or if the backend service does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams.
           # - gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.
           # -
@@ -1330,10 +1330,10 @@
         },
         &quot;faultInjectionPolicy&quot;: { # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests. # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests.
             # timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy.
-            # Not supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true.
           &quot;abort&quot;: { # Specification for how requests are aborted as part of fault injection. # The specification for how client requests are aborted as part of fault injection.
             &quot;httpStatus&quot;: 42, # The HTTP status code used to abort the request.
                 # The value must be between 200 and 599 inclusive.
+                # For gRPC protocol, the gRPC status code is mapped to HTTP status code according to this  mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
             &quot;percentage&quot;: 3.14, # The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.
                 # The value must be between 0.0 and 100.0 inclusive.
           },
@@ -1364,7 +1364,7 @@
             &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
             &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
           },
-          &quot;retryConditions&quot;: [ # Specfies one or more conditions when this retry rule applies. Valid values are:
+          &quot;retryConditions&quot;: [ # Specifies one or more conditions when this retry rule applies. Valid values are:
               # - 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, or if the backend service does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams.
               # - gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.
               # -
@@ -1526,10 +1526,10 @@
             },
             &quot;faultInjectionPolicy&quot;: { # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests. # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests.
                 # timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy.
-                # Not supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true.
               &quot;abort&quot;: { # Specification for how requests are aborted as part of fault injection. # The specification for how client requests are aborted as part of fault injection.
                 &quot;httpStatus&quot;: 42, # The HTTP status code used to abort the request.
                     # The value must be between 200 and 599 inclusive.
+                    # For gRPC protocol, the gRPC status code is mapped to HTTP status code according to this  mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
                 &quot;percentage&quot;: 3.14, # The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.
                     # The value must be between 0.0 and 100.0 inclusive.
               },
@@ -1560,7 +1560,7 @@
                 &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
                 &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
               },
-              &quot;retryConditions&quot;: [ # Specfies one or more conditions when this retry rule applies. Valid values are:
+              &quot;retryConditions&quot;: [ # Specifies one or more conditions when this retry rule applies. Valid values are:
                   # - 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, or if the backend service does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams.
                   # - gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.
                   # -
@@ -1803,10 +1803,10 @@
             },
             &quot;faultInjectionPolicy&quot;: { # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests. # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests.
                 # timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy.
-                # Not supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true.
               &quot;abort&quot;: { # Specification for how requests are aborted as part of fault injection. # The specification for how client requests are aborted as part of fault injection.
                 &quot;httpStatus&quot;: 42, # The HTTP status code used to abort the request.
                     # The value must be between 200 and 599 inclusive.
+                    # For gRPC protocol, the gRPC status code is mapped to HTTP status code according to this  mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
                 &quot;percentage&quot;: 3.14, # The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.
                     # The value must be between 0.0 and 100.0 inclusive.
               },
@@ -1837,7 +1837,7 @@
                 &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
                 &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
               },
-              &quot;retryConditions&quot;: [ # Specfies one or more conditions when this retry rule applies. Valid values are:
+              &quot;retryConditions&quot;: [ # Specifies one or more conditions when this retry rule applies. Valid values are:
                   # - 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, or if the backend service does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams.
                   # - gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.
                   # -
@@ -2101,10 +2101,10 @@
         },
         &quot;faultInjectionPolicy&quot;: { # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests. # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests.
             # timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy.
-            # Not supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true.
           &quot;abort&quot;: { # Specification for how requests are aborted as part of fault injection. # The specification for how client requests are aborted as part of fault injection.
             &quot;httpStatus&quot;: 42, # The HTTP status code used to abort the request.
                 # The value must be between 200 and 599 inclusive.
+                # For gRPC protocol, the gRPC status code is mapped to HTTP status code according to this  mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
             &quot;percentage&quot;: 3.14, # The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.
                 # The value must be between 0.0 and 100.0 inclusive.
           },
@@ -2135,7 +2135,7 @@
             &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
             &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
           },
-          &quot;retryConditions&quot;: [ # Specfies one or more conditions when this retry rule applies. Valid values are:
+          &quot;retryConditions&quot;: [ # Specifies one or more conditions when this retry rule applies. Valid values are:
               # - 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, or if the backend service does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams.
               # - gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.
               # -
@@ -2302,10 +2302,10 @@
             },
             &quot;faultInjectionPolicy&quot;: { # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests. # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests.
                 # timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy.
-                # Not supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true.
               &quot;abort&quot;: { # Specification for how requests are aborted as part of fault injection. # The specification for how client requests are aborted as part of fault injection.
                 &quot;httpStatus&quot;: 42, # The HTTP status code used to abort the request.
                     # The value must be between 200 and 599 inclusive.
+                    # For gRPC protocol, the gRPC status code is mapped to HTTP status code according to this  mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
                 &quot;percentage&quot;: 3.14, # The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.
                     # The value must be between 0.0 and 100.0 inclusive.
               },
@@ -2336,7 +2336,7 @@
                 &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
                 &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
               },
-              &quot;retryConditions&quot;: [ # Specfies one or more conditions when this retry rule applies. Valid values are:
+              &quot;retryConditions&quot;: [ # Specifies one or more conditions when this retry rule applies. Valid values are:
                   # - 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, or if the backend service does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams.
                   # - gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.
                   # -
@@ -2498,10 +2498,10 @@
                 },
                 &quot;faultInjectionPolicy&quot;: { # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests. # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests.
                     # timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy.
-                    # Not supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true.
                   &quot;abort&quot;: { # Specification for how requests are aborted as part of fault injection. # The specification for how client requests are aborted as part of fault injection.
                     &quot;httpStatus&quot;: 42, # The HTTP status code used to abort the request.
                         # The value must be between 200 and 599 inclusive.
+                        # For gRPC protocol, the gRPC status code is mapped to HTTP status code according to this  mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
                     &quot;percentage&quot;: 3.14, # The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.
                         # The value must be between 0.0 and 100.0 inclusive.
                   },
@@ -2532,7 +2532,7 @@
                     &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
                     &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
                   },
-                  &quot;retryConditions&quot;: [ # Specfies one or more conditions when this retry rule applies. Valid values are:
+                  &quot;retryConditions&quot;: [ # Specifies one or more conditions when this retry rule applies. Valid values are:
                       # - 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, or if the backend service does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams.
                       # - gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.
                       # -
@@ -2775,10 +2775,10 @@
                 },
                 &quot;faultInjectionPolicy&quot;: { # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests. # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests.
                     # timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy.
-                    # Not supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true.
                   &quot;abort&quot;: { # Specification for how requests are aborted as part of fault injection. # The specification for how client requests are aborted as part of fault injection.
                     &quot;httpStatus&quot;: 42, # The HTTP status code used to abort the request.
                         # The value must be between 200 and 599 inclusive.
+                        # For gRPC protocol, the gRPC status code is mapped to HTTP status code according to this  mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
                     &quot;percentage&quot;: 3.14, # The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.
                         # The value must be between 0.0 and 100.0 inclusive.
                   },
@@ -2809,7 +2809,7 @@
                     &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
                     &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
                   },
-                  &quot;retryConditions&quot;: [ # Specfies one or more conditions when this retry rule applies. Valid values are:
+                  &quot;retryConditions&quot;: [ # Specifies one or more conditions when this retry rule applies. Valid values are:
                       # - 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, or if the backend service does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams.
                       # - gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.
                       # -
@@ -3020,10 +3020,10 @@
     },
     &quot;faultInjectionPolicy&quot;: { # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests. # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests.
         # timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy.
-        # Not supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true.
       &quot;abort&quot;: { # Specification for how requests are aborted as part of fault injection. # The specification for how client requests are aborted as part of fault injection.
         &quot;httpStatus&quot;: 42, # The HTTP status code used to abort the request.
             # The value must be between 200 and 599 inclusive.
+            # For gRPC protocol, the gRPC status code is mapped to HTTP status code according to this  mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
         &quot;percentage&quot;: 3.14, # The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.
             # The value must be between 0.0 and 100.0 inclusive.
       },
@@ -3054,7 +3054,7 @@
         &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
         &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
       },
-      &quot;retryConditions&quot;: [ # Specfies one or more conditions when this retry rule applies. Valid values are:
+      &quot;retryConditions&quot;: [ # Specifies one or more conditions when this retry rule applies. Valid values are:
           # - 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, or if the backend service does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams.
           # - gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.
           # -
@@ -3221,10 +3221,10 @@
         },
         &quot;faultInjectionPolicy&quot;: { # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests. # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests.
             # timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy.
-            # Not supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true.
           &quot;abort&quot;: { # Specification for how requests are aborted as part of fault injection. # The specification for how client requests are aborted as part of fault injection.
             &quot;httpStatus&quot;: 42, # The HTTP status code used to abort the request.
                 # The value must be between 200 and 599 inclusive.
+                # For gRPC protocol, the gRPC status code is mapped to HTTP status code according to this  mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
             &quot;percentage&quot;: 3.14, # The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.
                 # The value must be between 0.0 and 100.0 inclusive.
           },
@@ -3255,7 +3255,7 @@
             &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
             &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
           },
-          &quot;retryConditions&quot;: [ # Specfies one or more conditions when this retry rule applies. Valid values are:
+          &quot;retryConditions&quot;: [ # Specifies one or more conditions when this retry rule applies. Valid values are:
               # - 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, or if the backend service does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams.
               # - gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.
               # -
@@ -3417,10 +3417,10 @@
             },
             &quot;faultInjectionPolicy&quot;: { # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests. # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests.
                 # timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy.
-                # Not supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true.
               &quot;abort&quot;: { # Specification for how requests are aborted as part of fault injection. # The specification for how client requests are aborted as part of fault injection.
                 &quot;httpStatus&quot;: 42, # The HTTP status code used to abort the request.
                     # The value must be between 200 and 599 inclusive.
+                    # For gRPC protocol, the gRPC status code is mapped to HTTP status code according to this  mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
                 &quot;percentage&quot;: 3.14, # The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.
                     # The value must be between 0.0 and 100.0 inclusive.
               },
@@ -3451,7 +3451,7 @@
                 &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
                 &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
               },
-              &quot;retryConditions&quot;: [ # Specfies one or more conditions when this retry rule applies. Valid values are:
+              &quot;retryConditions&quot;: [ # Specifies one or more conditions when this retry rule applies. Valid values are:
                   # - 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, or if the backend service does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams.
                   # - gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.
                   # -
@@ -3694,10 +3694,10 @@
             },
             &quot;faultInjectionPolicy&quot;: { # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests. # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests.
                 # timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy.
-                # Not supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true.
               &quot;abort&quot;: { # Specification for how requests are aborted as part of fault injection. # The specification for how client requests are aborted as part of fault injection.
                 &quot;httpStatus&quot;: 42, # The HTTP status code used to abort the request.
                     # The value must be between 200 and 599 inclusive.
+                    # For gRPC protocol, the gRPC status code is mapped to HTTP status code according to this  mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
                 &quot;percentage&quot;: 3.14, # The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.
                     # The value must be between 0.0 and 100.0 inclusive.
               },
@@ -3728,7 +3728,7 @@
                 &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
                 &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
               },
-              &quot;retryConditions&quot;: [ # Specfies one or more conditions when this retry rule applies. Valid values are:
+              &quot;retryConditions&quot;: [ # Specifies one or more conditions when this retry rule applies. Valid values are:
                   # - 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, or if the backend service does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams.
                   # - gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.
                   # -
@@ -3974,10 +3974,10 @@
     },
     &quot;faultInjectionPolicy&quot;: { # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests. # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests.
         # timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy.
-        # Not supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true.
       &quot;abort&quot;: { # Specification for how requests are aborted as part of fault injection. # The specification for how client requests are aborted as part of fault injection.
         &quot;httpStatus&quot;: 42, # The HTTP status code used to abort the request.
             # The value must be between 200 and 599 inclusive.
+            # For gRPC protocol, the gRPC status code is mapped to HTTP status code according to this  mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
         &quot;percentage&quot;: 3.14, # The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.
             # The value must be between 0.0 and 100.0 inclusive.
       },
@@ -4008,7 +4008,7 @@
         &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
         &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
       },
-      &quot;retryConditions&quot;: [ # Specfies one or more conditions when this retry rule applies. Valid values are:
+      &quot;retryConditions&quot;: [ # Specifies one or more conditions when this retry rule applies. Valid values are:
           # - 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, or if the backend service does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams.
           # - gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.
           # -
@@ -4175,10 +4175,10 @@
         },
         &quot;faultInjectionPolicy&quot;: { # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests. # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests.
             # timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy.
-            # Not supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true.
           &quot;abort&quot;: { # Specification for how requests are aborted as part of fault injection. # The specification for how client requests are aborted as part of fault injection.
             &quot;httpStatus&quot;: 42, # The HTTP status code used to abort the request.
                 # The value must be between 200 and 599 inclusive.
+                # For gRPC protocol, the gRPC status code is mapped to HTTP status code according to this  mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
             &quot;percentage&quot;: 3.14, # The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.
                 # The value must be between 0.0 and 100.0 inclusive.
           },
@@ -4209,7 +4209,7 @@
             &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
             &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
           },
-          &quot;retryConditions&quot;: [ # Specfies one or more conditions when this retry rule applies. Valid values are:
+          &quot;retryConditions&quot;: [ # Specifies one or more conditions when this retry rule applies. Valid values are:
               # - 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, or if the backend service does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams.
               # - gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.
               # -
@@ -4371,10 +4371,10 @@
             },
             &quot;faultInjectionPolicy&quot;: { # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests. # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests.
                 # timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy.
-                # Not supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true.
               &quot;abort&quot;: { # Specification for how requests are aborted as part of fault injection. # The specification for how client requests are aborted as part of fault injection.
                 &quot;httpStatus&quot;: 42, # The HTTP status code used to abort the request.
                     # The value must be between 200 and 599 inclusive.
+                    # For gRPC protocol, the gRPC status code is mapped to HTTP status code according to this  mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
                 &quot;percentage&quot;: 3.14, # The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.
                     # The value must be between 0.0 and 100.0 inclusive.
               },
@@ -4405,7 +4405,7 @@
                 &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
                 &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
               },
-              &quot;retryConditions&quot;: [ # Specfies one or more conditions when this retry rule applies. Valid values are:
+              &quot;retryConditions&quot;: [ # Specifies one or more conditions when this retry rule applies. Valid values are:
                   # - 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, or if the backend service does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams.
                   # - gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.
                   # -
@@ -4648,10 +4648,10 @@
             },
             &quot;faultInjectionPolicy&quot;: { # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests. # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests.
                 # timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy.
-                # Not supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true.
               &quot;abort&quot;: { # Specification for how requests are aborted as part of fault injection. # The specification for how client requests are aborted as part of fault injection.
                 &quot;httpStatus&quot;: 42, # The HTTP status code used to abort the request.
                     # The value must be between 200 and 599 inclusive.
+                    # For gRPC protocol, the gRPC status code is mapped to HTTP status code according to this  mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
                 &quot;percentage&quot;: 3.14, # The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.
                     # The value must be between 0.0 and 100.0 inclusive.
               },
@@ -4682,7 +4682,7 @@
                 &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
                 &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
               },
-              &quot;retryConditions&quot;: [ # Specfies one or more conditions when this retry rule applies. Valid values are:
+              &quot;retryConditions&quot;: [ # Specifies one or more conditions when this retry rule applies. Valid values are:
                   # - 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, or if the backend service does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams.
                   # - gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.
                   # -
@@ -4929,10 +4929,10 @@
       },
       &quot;faultInjectionPolicy&quot;: { # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests. # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests.
           # timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy.
-          # Not supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true.
         &quot;abort&quot;: { # Specification for how requests are aborted as part of fault injection. # The specification for how client requests are aborted as part of fault injection.
           &quot;httpStatus&quot;: 42, # The HTTP status code used to abort the request.
               # The value must be between 200 and 599 inclusive.
+              # For gRPC protocol, the gRPC status code is mapped to HTTP status code according to this  mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
           &quot;percentage&quot;: 3.14, # The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.
               # The value must be between 0.0 and 100.0 inclusive.
         },
@@ -4963,7 +4963,7 @@
           &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
           &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
         },
-        &quot;retryConditions&quot;: [ # Specfies one or more conditions when this retry rule applies. Valid values are:
+        &quot;retryConditions&quot;: [ # Specifies one or more conditions when this retry rule applies. Valid values are:
             # - 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, or if the backend service does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams.
             # - gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.
             # -
@@ -5130,10 +5130,10 @@
           },
           &quot;faultInjectionPolicy&quot;: { # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests. # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests.
               # timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy.
-              # Not supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true.
             &quot;abort&quot;: { # Specification for how requests are aborted as part of fault injection. # The specification for how client requests are aborted as part of fault injection.
               &quot;httpStatus&quot;: 42, # The HTTP status code used to abort the request.
                   # The value must be between 200 and 599 inclusive.
+                  # For gRPC protocol, the gRPC status code is mapped to HTTP status code according to this  mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
               &quot;percentage&quot;: 3.14, # The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.
                   # The value must be between 0.0 and 100.0 inclusive.
             },
@@ -5164,7 +5164,7 @@
               &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
               &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
             },
-            &quot;retryConditions&quot;: [ # Specfies one or more conditions when this retry rule applies. Valid values are:
+            &quot;retryConditions&quot;: [ # Specifies one or more conditions when this retry rule applies. Valid values are:
                 # - 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, or if the backend service does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams.
                 # - gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.
                 # -
@@ -5326,10 +5326,10 @@
               },
               &quot;faultInjectionPolicy&quot;: { # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests. # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests.
                   # timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy.
-                  # Not supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true.
                 &quot;abort&quot;: { # Specification for how requests are aborted as part of fault injection. # The specification for how client requests are aborted as part of fault injection.
                   &quot;httpStatus&quot;: 42, # The HTTP status code used to abort the request.
                       # The value must be between 200 and 599 inclusive.
+                      # For gRPC protocol, the gRPC status code is mapped to HTTP status code according to this  mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
                   &quot;percentage&quot;: 3.14, # The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.
                       # The value must be between 0.0 and 100.0 inclusive.
                 },
@@ -5360,7 +5360,7 @@
                   &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
                   &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
                 },
-                &quot;retryConditions&quot;: [ # Specfies one or more conditions when this retry rule applies. Valid values are:
+                &quot;retryConditions&quot;: [ # Specifies one or more conditions when this retry rule applies. Valid values are:
                     # - 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, or if the backend service does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams.
                     # - gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.
                     # -
@@ -5603,10 +5603,10 @@
               },
               &quot;faultInjectionPolicy&quot;: { # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests. # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests.
                   # timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy.
-                  # Not supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true.
                 &quot;abort&quot;: { # Specification for how requests are aborted as part of fault injection. # The specification for how client requests are aborted as part of fault injection.
                   &quot;httpStatus&quot;: 42, # The HTTP status code used to abort the request.
                       # The value must be between 200 and 599 inclusive.
+                      # For gRPC protocol, the gRPC status code is mapped to HTTP status code according to this  mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
                   &quot;percentage&quot;: 3.14, # The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.
                       # The value must be between 0.0 and 100.0 inclusive.
                 },
@@ -5637,7 +5637,7 @@
                   &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
                   &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
                 },
-                &quot;retryConditions&quot;: [ # Specfies one or more conditions when this retry rule applies. Valid values are:
+                &quot;retryConditions&quot;: [ # Specifies one or more conditions when this retry rule applies. Valid values are:
                     # - 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, or if the backend service does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams.
                     # - gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.
                     # -
diff --git a/docs/dyn/compute_v1.subnetworks.html b/docs/dyn/compute_v1.subnetworks.html
index a1846e7..0727194 100644
--- a/docs/dyn/compute_v1.subnetworks.html
+++ b/docs/dyn/compute_v1.subnetworks.html
@@ -160,12 +160,14 @@
           &quot;creationTimestamp&quot;: &quot;A String&quot;, # [Output Only] Creation timestamp in RFC3339 text format.
           &quot;description&quot;: &quot;A String&quot;, # An optional description of this resource. Provide this property when you create the resource. This field can be set only at resource creation time.
           &quot;enableFlowLogs&quot;: True or False, # Whether to enable flow logging for this subnetwork. If this field is not explicitly set, it will not appear in get listings. If not set the default behavior is to disable flow logging. This field isn&#x27;t supported with the purpose field set to INTERNAL_HTTPS_LOAD_BALANCER.
+          &quot;externalIpv6Prefix&quot;: &quot;A String&quot;, # [Output Only] The range of external IPv6 addresses that are owned by this subnetwork.
           &quot;fingerprint&quot;: &quot;A String&quot;, # Fingerprint of this resource. A hash of the contents stored in this object. This field is used in optimistic locking. This field will be ignored when inserting a Subnetwork. An up-to-date fingerprint must be provided in order to update the Subnetwork, otherwise the request will fail with error 412 conditionNotMet.
               #
               # To see the latest fingerprint, make a get() request to retrieve a Subnetwork.
           &quot;gatewayAddress&quot;: &quot;A String&quot;, # [Output Only] The gateway address for default routes to reach destination addresses outside this subnetwork.
           &quot;id&quot;: &quot;A String&quot;, # [Output Only] The unique identifier for the resource. This identifier is defined by the server.
           &quot;ipCidrRange&quot;: &quot;A String&quot;, # The range of internal addresses that are owned by this subnetwork. Provide this property when you create the subnetwork. For example, 10.0.0.0/8 or 100.64.0.0/10. Ranges must be unique and non-overlapping within a network. Only IPv4 is supported. This field is set at resource creation time. The range can be any range listed in the Valid ranges list. The range can be expanded after creation using expandIpCidrRange.
+          &quot;ipv6AccessType&quot;: &quot;A String&quot;, # The access type of IPv6 address this subnet holds. It&#x27;s immutable and can only be specified during creation or the first time the subnet is updated into IPV4_IPV6 dual stack. If the ipv6_type is EXTERNAL then this subnet cannot enable direct path.
           &quot;ipv6CidrRange&quot;: &quot;A String&quot;, # [Output Only] The range of internal IPv6 addresses that are owned by this subnetwork.
           &quot;kind&quot;: &quot;compute#subnetwork&quot;, # [Output Only] Type of the resource. Always compute#subnetwork for Subnetwork resources.
           &quot;logConfig&quot;: { # The available logging options for this subnetwork. # This field denotes the VPC flow logging options for this subnetwork. If logging is enabled, logs are exported to Cloud Logging.
@@ -194,6 +196,9 @@
             },
           ],
           &quot;selfLink&quot;: &quot;A String&quot;, # [Output Only] Server-defined URL for the resource.
+          &quot;stackType&quot;: &quot;A String&quot;, # The stack type for this subnet to identify whether the IPv6 feature is enabled or not. If not specified IPV4_ONLY will be used.
+              #
+              # This field can be both set at resource creation time and updated using patch.
           &quot;state&quot;: &quot;A String&quot;, # [Output Only] The state of the subnetwork, which can be one of the following values: READY: Subnetwork is created and ready to use DRAINING: only applicable to subnetworks that have the purpose set to INTERNAL_HTTPS_LOAD_BALANCER and indicates that connections to the load balancer are being drained. A subnetwork that is draining cannot be used or modified until it reaches a status of READY
         },
       ],
@@ -430,12 +435,14 @@
   &quot;creationTimestamp&quot;: &quot;A String&quot;, # [Output Only] Creation timestamp in RFC3339 text format.
   &quot;description&quot;: &quot;A String&quot;, # An optional description of this resource. Provide this property when you create the resource. This field can be set only at resource creation time.
   &quot;enableFlowLogs&quot;: True or False, # Whether to enable flow logging for this subnetwork. If this field is not explicitly set, it will not appear in get listings. If not set the default behavior is to disable flow logging. This field isn&#x27;t supported with the purpose field set to INTERNAL_HTTPS_LOAD_BALANCER.
+  &quot;externalIpv6Prefix&quot;: &quot;A String&quot;, # [Output Only] The range of external IPv6 addresses that are owned by this subnetwork.
   &quot;fingerprint&quot;: &quot;A String&quot;, # Fingerprint of this resource. A hash of the contents stored in this object. This field is used in optimistic locking. This field will be ignored when inserting a Subnetwork. An up-to-date fingerprint must be provided in order to update the Subnetwork, otherwise the request will fail with error 412 conditionNotMet.
       #
       # To see the latest fingerprint, make a get() request to retrieve a Subnetwork.
   &quot;gatewayAddress&quot;: &quot;A String&quot;, # [Output Only] The gateway address for default routes to reach destination addresses outside this subnetwork.
   &quot;id&quot;: &quot;A String&quot;, # [Output Only] The unique identifier for the resource. This identifier is defined by the server.
   &quot;ipCidrRange&quot;: &quot;A String&quot;, # The range of internal addresses that are owned by this subnetwork. Provide this property when you create the subnetwork. For example, 10.0.0.0/8 or 100.64.0.0/10. Ranges must be unique and non-overlapping within a network. Only IPv4 is supported. This field is set at resource creation time. The range can be any range listed in the Valid ranges list. The range can be expanded after creation using expandIpCidrRange.
+  &quot;ipv6AccessType&quot;: &quot;A String&quot;, # The access type of IPv6 address this subnet holds. It&#x27;s immutable and can only be specified during creation or the first time the subnet is updated into IPV4_IPV6 dual stack. If the ipv6_type is EXTERNAL then this subnet cannot enable direct path.
   &quot;ipv6CidrRange&quot;: &quot;A String&quot;, # [Output Only] The range of internal IPv6 addresses that are owned by this subnetwork.
   &quot;kind&quot;: &quot;compute#subnetwork&quot;, # [Output Only] Type of the resource. Always compute#subnetwork for Subnetwork resources.
   &quot;logConfig&quot;: { # The available logging options for this subnetwork. # This field denotes the VPC flow logging options for this subnetwork. If logging is enabled, logs are exported to Cloud Logging.
@@ -464,6 +471,9 @@
     },
   ],
   &quot;selfLink&quot;: &quot;A String&quot;, # [Output Only] Server-defined URL for the resource.
+  &quot;stackType&quot;: &quot;A String&quot;, # The stack type for this subnet to identify whether the IPv6 feature is enabled or not. If not specified IPV4_ONLY will be used.
+      #
+      # This field can be both set at resource creation time and updated using patch.
   &quot;state&quot;: &quot;A String&quot;, # [Output Only] The state of the subnetwork, which can be one of the following values: READY: Subnetwork is created and ready to use DRAINING: only applicable to subnetworks that have the purpose set to INTERNAL_HTTPS_LOAD_BALANCER and indicates that connections to the load balancer are being drained. A subnetwork that is draining cannot be used or modified until it reaches a status of READY
 }</pre>
 </div>
@@ -681,12 +691,14 @@
   &quot;creationTimestamp&quot;: &quot;A String&quot;, # [Output Only] Creation timestamp in RFC3339 text format.
   &quot;description&quot;: &quot;A String&quot;, # An optional description of this resource. Provide this property when you create the resource. This field can be set only at resource creation time.
   &quot;enableFlowLogs&quot;: True or False, # Whether to enable flow logging for this subnetwork. If this field is not explicitly set, it will not appear in get listings. If not set the default behavior is to disable flow logging. This field isn&#x27;t supported with the purpose field set to INTERNAL_HTTPS_LOAD_BALANCER.
+  &quot;externalIpv6Prefix&quot;: &quot;A String&quot;, # [Output Only] The range of external IPv6 addresses that are owned by this subnetwork.
   &quot;fingerprint&quot;: &quot;A String&quot;, # Fingerprint of this resource. A hash of the contents stored in this object. This field is used in optimistic locking. This field will be ignored when inserting a Subnetwork. An up-to-date fingerprint must be provided in order to update the Subnetwork, otherwise the request will fail with error 412 conditionNotMet.
       # 
       # To see the latest fingerprint, make a get() request to retrieve a Subnetwork.
   &quot;gatewayAddress&quot;: &quot;A String&quot;, # [Output Only] The gateway address for default routes to reach destination addresses outside this subnetwork.
   &quot;id&quot;: &quot;A String&quot;, # [Output Only] The unique identifier for the resource. This identifier is defined by the server.
   &quot;ipCidrRange&quot;: &quot;A String&quot;, # The range of internal addresses that are owned by this subnetwork. Provide this property when you create the subnetwork. For example, 10.0.0.0/8 or 100.64.0.0/10. Ranges must be unique and non-overlapping within a network. Only IPv4 is supported. This field is set at resource creation time. The range can be any range listed in the Valid ranges list. The range can be expanded after creation using expandIpCidrRange.
+  &quot;ipv6AccessType&quot;: &quot;A String&quot;, # The access type of IPv6 address this subnet holds. It&#x27;s immutable and can only be specified during creation or the first time the subnet is updated into IPV4_IPV6 dual stack. If the ipv6_type is EXTERNAL then this subnet cannot enable direct path.
   &quot;ipv6CidrRange&quot;: &quot;A String&quot;, # [Output Only] The range of internal IPv6 addresses that are owned by this subnetwork.
   &quot;kind&quot;: &quot;compute#subnetwork&quot;, # [Output Only] Type of the resource. Always compute#subnetwork for Subnetwork resources.
   &quot;logConfig&quot;: { # The available logging options for this subnetwork. # This field denotes the VPC flow logging options for this subnetwork. If logging is enabled, logs are exported to Cloud Logging.
@@ -715,6 +727,9 @@
     },
   ],
   &quot;selfLink&quot;: &quot;A String&quot;, # [Output Only] Server-defined URL for the resource.
+  &quot;stackType&quot;: &quot;A String&quot;, # The stack type for this subnet to identify whether the IPv6 feature is enabled or not. If not specified IPV4_ONLY will be used.
+      # 
+      # This field can be both set at resource creation time and updated using patch.
   &quot;state&quot;: &quot;A String&quot;, # [Output Only] The state of the subnetwork, which can be one of the following values: READY: Subnetwork is created and ready to use DRAINING: only applicable to subnetworks that have the purpose set to INTERNAL_HTTPS_LOAD_BALANCER and indicates that connections to the load balancer are being drained. A subnetwork that is draining cannot be used or modified until it reaches a status of READY
 }
 
@@ -823,12 +838,14 @@
       &quot;creationTimestamp&quot;: &quot;A String&quot;, # [Output Only] Creation timestamp in RFC3339 text format.
       &quot;description&quot;: &quot;A String&quot;, # An optional description of this resource. Provide this property when you create the resource. This field can be set only at resource creation time.
       &quot;enableFlowLogs&quot;: True or False, # Whether to enable flow logging for this subnetwork. If this field is not explicitly set, it will not appear in get listings. If not set the default behavior is to disable flow logging. This field isn&#x27;t supported with the purpose field set to INTERNAL_HTTPS_LOAD_BALANCER.
+      &quot;externalIpv6Prefix&quot;: &quot;A String&quot;, # [Output Only] The range of external IPv6 addresses that are owned by this subnetwork.
       &quot;fingerprint&quot;: &quot;A String&quot;, # Fingerprint of this resource. A hash of the contents stored in this object. This field is used in optimistic locking. This field will be ignored when inserting a Subnetwork. An up-to-date fingerprint must be provided in order to update the Subnetwork, otherwise the request will fail with error 412 conditionNotMet.
           #
           # To see the latest fingerprint, make a get() request to retrieve a Subnetwork.
       &quot;gatewayAddress&quot;: &quot;A String&quot;, # [Output Only] The gateway address for default routes to reach destination addresses outside this subnetwork.
       &quot;id&quot;: &quot;A String&quot;, # [Output Only] The unique identifier for the resource. This identifier is defined by the server.
       &quot;ipCidrRange&quot;: &quot;A String&quot;, # The range of internal addresses that are owned by this subnetwork. Provide this property when you create the subnetwork. For example, 10.0.0.0/8 or 100.64.0.0/10. Ranges must be unique and non-overlapping within a network. Only IPv4 is supported. This field is set at resource creation time. The range can be any range listed in the Valid ranges list. The range can be expanded after creation using expandIpCidrRange.
+      &quot;ipv6AccessType&quot;: &quot;A String&quot;, # The access type of IPv6 address this subnet holds. It&#x27;s immutable and can only be specified during creation or the first time the subnet is updated into IPV4_IPV6 dual stack. If the ipv6_type is EXTERNAL then this subnet cannot enable direct path.
       &quot;ipv6CidrRange&quot;: &quot;A String&quot;, # [Output Only] The range of internal IPv6 addresses that are owned by this subnetwork.
       &quot;kind&quot;: &quot;compute#subnetwork&quot;, # [Output Only] Type of the resource. Always compute#subnetwork for Subnetwork resources.
       &quot;logConfig&quot;: { # The available logging options for this subnetwork. # This field denotes the VPC flow logging options for this subnetwork. If logging is enabled, logs are exported to Cloud Logging.
@@ -857,6 +874,9 @@
         },
       ],
       &quot;selfLink&quot;: &quot;A String&quot;, # [Output Only] Server-defined URL for the resource.
+      &quot;stackType&quot;: &quot;A String&quot;, # The stack type for this subnet to identify whether the IPv6 feature is enabled or not. If not specified IPV4_ONLY will be used.
+          #
+          # This field can be both set at resource creation time and updated using patch.
       &quot;state&quot;: &quot;A String&quot;, # [Output Only] The state of the subnetwork, which can be one of the following values: READY: Subnetwork is created and ready to use DRAINING: only applicable to subnetworks that have the purpose set to INTERNAL_HTTPS_LOAD_BALANCER and indicates that connections to the load balancer are being drained. A subnetwork that is draining cannot be used or modified until it reaches a status of READY
     },
   ],
@@ -979,12 +999,14 @@
   &quot;creationTimestamp&quot;: &quot;A String&quot;, # [Output Only] Creation timestamp in RFC3339 text format.
   &quot;description&quot;: &quot;A String&quot;, # An optional description of this resource. Provide this property when you create the resource. This field can be set only at resource creation time.
   &quot;enableFlowLogs&quot;: True or False, # Whether to enable flow logging for this subnetwork. If this field is not explicitly set, it will not appear in get listings. If not set the default behavior is to disable flow logging. This field isn&#x27;t supported with the purpose field set to INTERNAL_HTTPS_LOAD_BALANCER.
+  &quot;externalIpv6Prefix&quot;: &quot;A String&quot;, # [Output Only] The range of external IPv6 addresses that are owned by this subnetwork.
   &quot;fingerprint&quot;: &quot;A String&quot;, # Fingerprint of this resource. A hash of the contents stored in this object. This field is used in optimistic locking. This field will be ignored when inserting a Subnetwork. An up-to-date fingerprint must be provided in order to update the Subnetwork, otherwise the request will fail with error 412 conditionNotMet.
       # 
       # To see the latest fingerprint, make a get() request to retrieve a Subnetwork.
   &quot;gatewayAddress&quot;: &quot;A String&quot;, # [Output Only] The gateway address for default routes to reach destination addresses outside this subnetwork.
   &quot;id&quot;: &quot;A String&quot;, # [Output Only] The unique identifier for the resource. This identifier is defined by the server.
   &quot;ipCidrRange&quot;: &quot;A String&quot;, # The range of internal addresses that are owned by this subnetwork. Provide this property when you create the subnetwork. For example, 10.0.0.0/8 or 100.64.0.0/10. Ranges must be unique and non-overlapping within a network. Only IPv4 is supported. This field is set at resource creation time. The range can be any range listed in the Valid ranges list. The range can be expanded after creation using expandIpCidrRange.
+  &quot;ipv6AccessType&quot;: &quot;A String&quot;, # The access type of IPv6 address this subnet holds. It&#x27;s immutable and can only be specified during creation or the first time the subnet is updated into IPV4_IPV6 dual stack. If the ipv6_type is EXTERNAL then this subnet cannot enable direct path.
   &quot;ipv6CidrRange&quot;: &quot;A String&quot;, # [Output Only] The range of internal IPv6 addresses that are owned by this subnetwork.
   &quot;kind&quot;: &quot;compute#subnetwork&quot;, # [Output Only] Type of the resource. Always compute#subnetwork for Subnetwork resources.
   &quot;logConfig&quot;: { # The available logging options for this subnetwork. # This field denotes the VPC flow logging options for this subnetwork. If logging is enabled, logs are exported to Cloud Logging.
@@ -1013,6 +1035,9 @@
     },
   ],
   &quot;selfLink&quot;: &quot;A String&quot;, # [Output Only] Server-defined URL for the resource.
+  &quot;stackType&quot;: &quot;A String&quot;, # The stack type for this subnet to identify whether the IPv6 feature is enabled or not. If not specified IPV4_ONLY will be used.
+      # 
+      # This field can be both set at resource creation time and updated using patch.
   &quot;state&quot;: &quot;A String&quot;, # [Output Only] The state of the subnetwork, which can be one of the following values: READY: Subnetwork is created and ready to use DRAINING: only applicable to subnetworks that have the purpose set to INTERNAL_HTTPS_LOAD_BALANCER and indicates that connections to the load balancer are being drained. A subnetwork that is draining cannot be used or modified until it reaches a status of READY
 }
 
diff --git a/docs/dyn/compute_v1.targetHttpsProxies.html b/docs/dyn/compute_v1.targetHttpsProxies.html
index 0d1a85e..54d2623 100644
--- a/docs/dyn/compute_v1.targetHttpsProxies.html
+++ b/docs/dyn/compute_v1.targetHttpsProxies.html
@@ -182,7 +182,7 @@
               # serverTlsPolicy only applies to a global TargetHttpsProxy attached to globalForwardingRules with the loadBalancingScheme set to INTERNAL_SELF_MANAGED.
               # If left blank, communications are not encrypted.
               # Note: This field currently has no impact.
-          &quot;sslCertificates&quot;: [ # URLs to SslCertificate resources that are used to authenticate connections between users and the load balancer. At least one SSL certificate must be specified. Currently, you may specify up to 15 SSL certificates.
+          &quot;sslCertificates&quot;: [ # URLs to SslCertificate resources that are used to authenticate connections between users and the load balancer. At least one SSL certificate must be specified. Currently, you may specify up to 15 SSL certificates. sslCertificates do not apply when the load balancing scheme is set to INTERNAL_SELF_MANAGED.
             &quot;A String&quot;,
           ],
           &quot;sslPolicy&quot;: &quot;A String&quot;, # URL of SslPolicy resource that will be associated with the TargetHttpsProxy resource. If not set, the TargetHttpsProxy resource has no SSL policy configured.
@@ -369,7 +369,7 @@
       # serverTlsPolicy only applies to a global TargetHttpsProxy attached to globalForwardingRules with the loadBalancingScheme set to INTERNAL_SELF_MANAGED.
       # If left blank, communications are not encrypted.
       # Note: This field currently has no impact.
-  &quot;sslCertificates&quot;: [ # URLs to SslCertificate resources that are used to authenticate connections between users and the load balancer. At least one SSL certificate must be specified. Currently, you may specify up to 15 SSL certificates.
+  &quot;sslCertificates&quot;: [ # URLs to SslCertificate resources that are used to authenticate connections between users and the load balancer. At least one SSL certificate must be specified. Currently, you may specify up to 15 SSL certificates. sslCertificates do not apply when the load balancing scheme is set to INTERNAL_SELF_MANAGED.
     &quot;A String&quot;,
   ],
   &quot;sslPolicy&quot;: &quot;A String&quot;, # URL of SslPolicy resource that will be associated with the TargetHttpsProxy resource. If not set, the TargetHttpsProxy resource has no SSL policy configured.
@@ -426,7 +426,7 @@
       # serverTlsPolicy only applies to a global TargetHttpsProxy attached to globalForwardingRules with the loadBalancingScheme set to INTERNAL_SELF_MANAGED.
       # If left blank, communications are not encrypted.
       # Note: This field currently has no impact.
-  &quot;sslCertificates&quot;: [ # URLs to SslCertificate resources that are used to authenticate connections between users and the load balancer. At least one SSL certificate must be specified. Currently, you may specify up to 15 SSL certificates.
+  &quot;sslCertificates&quot;: [ # URLs to SslCertificate resources that are used to authenticate connections between users and the load balancer. At least one SSL certificate must be specified. Currently, you may specify up to 15 SSL certificates. sslCertificates do not apply when the load balancing scheme is set to INTERNAL_SELF_MANAGED.
     &quot;A String&quot;,
   ],
   &quot;sslPolicy&quot;: &quot;A String&quot;, # URL of SslPolicy resource that will be associated with the TargetHttpsProxy resource. If not set, the TargetHttpsProxy resource has no SSL policy configured.
@@ -571,7 +571,7 @@
           # serverTlsPolicy only applies to a global TargetHttpsProxy attached to globalForwardingRules with the loadBalancingScheme set to INTERNAL_SELF_MANAGED.
           # If left blank, communications are not encrypted.
           # Note: This field currently has no impact.
-      &quot;sslCertificates&quot;: [ # URLs to SslCertificate resources that are used to authenticate connections between users and the load balancer. At least one SSL certificate must be specified. Currently, you may specify up to 15 SSL certificates.
+      &quot;sslCertificates&quot;: [ # URLs to SslCertificate resources that are used to authenticate connections between users and the load balancer. At least one SSL certificate must be specified. Currently, you may specify up to 15 SSL certificates. sslCertificates do not apply when the load balancing scheme is set to INTERNAL_SELF_MANAGED.
         &quot;A String&quot;,
       ],
       &quot;sslPolicy&quot;: &quot;A String&quot;, # URL of SslPolicy resource that will be associated with the TargetHttpsProxy resource. If not set, the TargetHttpsProxy resource has no SSL policy configured.
@@ -659,7 +659,7 @@
       # serverTlsPolicy only applies to a global TargetHttpsProxy attached to globalForwardingRules with the loadBalancingScheme set to INTERNAL_SELF_MANAGED.
       # If left blank, communications are not encrypted.
       # Note: This field currently has no impact.
-  &quot;sslCertificates&quot;: [ # URLs to SslCertificate resources that are used to authenticate connections between users and the load balancer. At least one SSL certificate must be specified. Currently, you may specify up to 15 SSL certificates.
+  &quot;sslCertificates&quot;: [ # URLs to SslCertificate resources that are used to authenticate connections between users and the load balancer. At least one SSL certificate must be specified. Currently, you may specify up to 15 SSL certificates. sslCertificates do not apply when the load balancing scheme is set to INTERNAL_SELF_MANAGED.
     &quot;A String&quot;,
   ],
   &quot;sslPolicy&quot;: &quot;A String&quot;, # URL of SslPolicy resource that will be associated with the TargetHttpsProxy resource. If not set, the TargetHttpsProxy resource has no SSL policy configured.
@@ -834,7 +834,7 @@
     The object takes the form of:
 
 {
-  &quot;sslCertificates&quot;: [ # New set of SslCertificate resources to associate with this TargetHttpsProxy resource. Currently exactly one SslCertificate resource must be specified.
+  &quot;sslCertificates&quot;: [ # New set of SslCertificate resources to associate with this TargetHttpsProxy resource. At least one SSL certificate must be specified. Currently, you may specify up to 15 SSL certificates.
     &quot;A String&quot;,
   ],
 }
diff --git a/docs/dyn/compute_v1.targetSslProxies.html b/docs/dyn/compute_v1.targetSslProxies.html
index fd42b2b..23cc210 100644
--- a/docs/dyn/compute_v1.targetSslProxies.html
+++ b/docs/dyn/compute_v1.targetSslProxies.html
@@ -209,7 +209,7 @@
   &quot;proxyHeader&quot;: &quot;A String&quot;, # Specifies the type of proxy header to append before sending data to the backend, either NONE or PROXY_V1. The default is NONE.
   &quot;selfLink&quot;: &quot;A String&quot;, # [Output Only] Server-defined URL for the resource.
   &quot;service&quot;: &quot;A String&quot;, # URL to the BackendService resource.
-  &quot;sslCertificates&quot;: [ # URLs to SslCertificate resources that are used to authenticate connections to Backends. At least one SSL certificate must be specified. Currently, you may specify up to 15 SSL certificates.
+  &quot;sslCertificates&quot;: [ # URLs to SslCertificate resources that are used to authenticate connections to Backends. At least one SSL certificate must be specified. Currently, you may specify up to 15 SSL certificates. sslCertificates do not apply when the load balancing scheme is set to INTERNAL_SELF_MANAGED.
     &quot;A String&quot;,
   ],
   &quot;sslPolicy&quot;: &quot;A String&quot;, # URL of SslPolicy resource that will be associated with the TargetSslProxy resource. If not set, the TargetSslProxy resource will not have any SSL policy configured.
@@ -236,7 +236,7 @@
   &quot;proxyHeader&quot;: &quot;A String&quot;, # Specifies the type of proxy header to append before sending data to the backend, either NONE or PROXY_V1. The default is NONE.
   &quot;selfLink&quot;: &quot;A String&quot;, # [Output Only] Server-defined URL for the resource.
   &quot;service&quot;: &quot;A String&quot;, # URL to the BackendService resource.
-  &quot;sslCertificates&quot;: [ # URLs to SslCertificate resources that are used to authenticate connections to Backends. At least one SSL certificate must be specified. Currently, you may specify up to 15 SSL certificates.
+  &quot;sslCertificates&quot;: [ # URLs to SslCertificate resources that are used to authenticate connections to Backends. At least one SSL certificate must be specified. Currently, you may specify up to 15 SSL certificates. sslCertificates do not apply when the load balancing scheme is set to INTERNAL_SELF_MANAGED.
     &quot;A String&quot;,
   ],
   &quot;sslPolicy&quot;: &quot;A String&quot;, # URL of SslPolicy resource that will be associated with the TargetSslProxy resource. If not set, the TargetSslProxy resource will not have any SSL policy configured.
@@ -351,7 +351,7 @@
       &quot;proxyHeader&quot;: &quot;A String&quot;, # Specifies the type of proxy header to append before sending data to the backend, either NONE or PROXY_V1. The default is NONE.
       &quot;selfLink&quot;: &quot;A String&quot;, # [Output Only] Server-defined URL for the resource.
       &quot;service&quot;: &quot;A String&quot;, # URL to the BackendService resource.
-      &quot;sslCertificates&quot;: [ # URLs to SslCertificate resources that are used to authenticate connections to Backends. At least one SSL certificate must be specified. Currently, you may specify up to 15 SSL certificates.
+      &quot;sslCertificates&quot;: [ # URLs to SslCertificate resources that are used to authenticate connections to Backends. At least one SSL certificate must be specified. Currently, you may specify up to 15 SSL certificates. sslCertificates do not apply when the load balancing scheme is set to INTERNAL_SELF_MANAGED.
         &quot;A String&quot;,
       ],
       &quot;sslPolicy&quot;: &quot;A String&quot;, # URL of SslPolicy resource that will be associated with the TargetSslProxy resource. If not set, the TargetSslProxy resource will not have any SSL policy configured.
@@ -567,7 +567,7 @@
     The object takes the form of:
 
 {
-  &quot;sslCertificates&quot;: [ # New set of URLs to SslCertificate resources to associate with this TargetSslProxy. Currently exactly one ssl certificate must be specified.
+  &quot;sslCertificates&quot;: [ # New set of URLs to SslCertificate resources to associate with this TargetSslProxy. At least one SSL certificate must be specified. Currently, you may specify up to 15 SSL certificates.
     &quot;A String&quot;,
   ],
 }
diff --git a/docs/dyn/compute_v1.urlMaps.html b/docs/dyn/compute_v1.urlMaps.html
index 053be01..79803fb 100644
--- a/docs/dyn/compute_v1.urlMaps.html
+++ b/docs/dyn/compute_v1.urlMaps.html
@@ -190,10 +190,10 @@
             },
             &quot;faultInjectionPolicy&quot;: { # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests. # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests.
                 # timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy.
-                # Not supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true.
               &quot;abort&quot;: { # Specification for how requests are aborted as part of fault injection. # The specification for how client requests are aborted as part of fault injection.
                 &quot;httpStatus&quot;: 42, # The HTTP status code used to abort the request.
                     # The value must be between 200 and 599 inclusive.
+                    # For gRPC protocol, the gRPC status code is mapped to HTTP status code according to this  mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
                 &quot;percentage&quot;: 3.14, # The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.
                     # The value must be between 0.0 and 100.0 inclusive.
               },
@@ -224,7 +224,7 @@
                 &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
                 &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
               },
-              &quot;retryConditions&quot;: [ # Specfies one or more conditions when this retry rule applies. Valid values are:
+              &quot;retryConditions&quot;: [ # Specifies one or more conditions when this retry rule applies. Valid values are:
                   # - 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, or if the backend service does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams.
                   # - gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.
                   # -
@@ -391,10 +391,10 @@
                 },
                 &quot;faultInjectionPolicy&quot;: { # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests. # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests.
                     # timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy.
-                    # Not supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true.
                   &quot;abort&quot;: { # Specification for how requests are aborted as part of fault injection. # The specification for how client requests are aborted as part of fault injection.
                     &quot;httpStatus&quot;: 42, # The HTTP status code used to abort the request.
                         # The value must be between 200 and 599 inclusive.
+                        # For gRPC protocol, the gRPC status code is mapped to HTTP status code according to this  mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
                     &quot;percentage&quot;: 3.14, # The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.
                         # The value must be between 0.0 and 100.0 inclusive.
                   },
@@ -425,7 +425,7 @@
                     &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
                     &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
                   },
-                  &quot;retryConditions&quot;: [ # Specfies one or more conditions when this retry rule applies. Valid values are:
+                  &quot;retryConditions&quot;: [ # Specifies one or more conditions when this retry rule applies. Valid values are:
                       # - 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, or if the backend service does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams.
                       # - gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.
                       # -
@@ -587,10 +587,10 @@
                     },
                     &quot;faultInjectionPolicy&quot;: { # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests. # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests.
                         # timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy.
-                        # Not supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true.
                       &quot;abort&quot;: { # Specification for how requests are aborted as part of fault injection. # The specification for how client requests are aborted as part of fault injection.
                         &quot;httpStatus&quot;: 42, # The HTTP status code used to abort the request.
                             # The value must be between 200 and 599 inclusive.
+                            # For gRPC protocol, the gRPC status code is mapped to HTTP status code according to this  mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
                         &quot;percentage&quot;: 3.14, # The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.
                             # The value must be between 0.0 and 100.0 inclusive.
                       },
@@ -621,7 +621,7 @@
                         &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
                         &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
                       },
-                      &quot;retryConditions&quot;: [ # Specfies one or more conditions when this retry rule applies. Valid values are:
+                      &quot;retryConditions&quot;: [ # Specifies one or more conditions when this retry rule applies. Valid values are:
                           # - 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, or if the backend service does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams.
                           # - gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.
                           # -
@@ -864,10 +864,10 @@
                     },
                     &quot;faultInjectionPolicy&quot;: { # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests. # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests.
                         # timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy.
-                        # Not supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true.
                       &quot;abort&quot;: { # Specification for how requests are aborted as part of fault injection. # The specification for how client requests are aborted as part of fault injection.
                         &quot;httpStatus&quot;: 42, # The HTTP status code used to abort the request.
                             # The value must be between 200 and 599 inclusive.
+                            # For gRPC protocol, the gRPC status code is mapped to HTTP status code according to this  mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
                         &quot;percentage&quot;: 3.14, # The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.
                             # The value must be between 0.0 and 100.0 inclusive.
                       },
@@ -898,7 +898,7 @@
                         &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
                         &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
                       },
-                      &quot;retryConditions&quot;: [ # Specfies one or more conditions when this retry rule applies. Valid values are:
+                      &quot;retryConditions&quot;: [ # Specifies one or more conditions when this retry rule applies. Valid values are:
                           # - 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, or if the backend service does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams.
                           # - gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.
                           # -
@@ -1207,10 +1207,10 @@
     },
     &quot;faultInjectionPolicy&quot;: { # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests. # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests.
         # timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy.
-        # Not supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true.
       &quot;abort&quot;: { # Specification for how requests are aborted as part of fault injection. # The specification for how client requests are aborted as part of fault injection.
         &quot;httpStatus&quot;: 42, # The HTTP status code used to abort the request.
             # The value must be between 200 and 599 inclusive.
+            # For gRPC protocol, the gRPC status code is mapped to HTTP status code according to this  mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
         &quot;percentage&quot;: 3.14, # The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.
             # The value must be between 0.0 and 100.0 inclusive.
       },
@@ -1241,7 +1241,7 @@
         &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
         &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
       },
-      &quot;retryConditions&quot;: [ # Specfies one or more conditions when this retry rule applies. Valid values are:
+      &quot;retryConditions&quot;: [ # Specifies one or more conditions when this retry rule applies. Valid values are:
           # - 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, or if the backend service does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams.
           # - gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.
           # -
@@ -1408,10 +1408,10 @@
         },
         &quot;faultInjectionPolicy&quot;: { # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests. # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests.
             # timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy.
-            # Not supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true.
           &quot;abort&quot;: { # Specification for how requests are aborted as part of fault injection. # The specification for how client requests are aborted as part of fault injection.
             &quot;httpStatus&quot;: 42, # The HTTP status code used to abort the request.
                 # The value must be between 200 and 599 inclusive.
+                # For gRPC protocol, the gRPC status code is mapped to HTTP status code according to this  mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
             &quot;percentage&quot;: 3.14, # The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.
                 # The value must be between 0.0 and 100.0 inclusive.
           },
@@ -1442,7 +1442,7 @@
             &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
             &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
           },
-          &quot;retryConditions&quot;: [ # Specfies one or more conditions when this retry rule applies. Valid values are:
+          &quot;retryConditions&quot;: [ # Specifies one or more conditions when this retry rule applies. Valid values are:
               # - 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, or if the backend service does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams.
               # - gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.
               # -
@@ -1604,10 +1604,10 @@
             },
             &quot;faultInjectionPolicy&quot;: { # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests. # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests.
                 # timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy.
-                # Not supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true.
               &quot;abort&quot;: { # Specification for how requests are aborted as part of fault injection. # The specification for how client requests are aborted as part of fault injection.
                 &quot;httpStatus&quot;: 42, # The HTTP status code used to abort the request.
                     # The value must be between 200 and 599 inclusive.
+                    # For gRPC protocol, the gRPC status code is mapped to HTTP status code according to this  mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
                 &quot;percentage&quot;: 3.14, # The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.
                     # The value must be between 0.0 and 100.0 inclusive.
               },
@@ -1638,7 +1638,7 @@
                 &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
                 &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
               },
-              &quot;retryConditions&quot;: [ # Specfies one or more conditions when this retry rule applies. Valid values are:
+              &quot;retryConditions&quot;: [ # Specifies one or more conditions when this retry rule applies. Valid values are:
                   # - 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, or if the backend service does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams.
                   # - gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.
                   # -
@@ -1881,10 +1881,10 @@
             },
             &quot;faultInjectionPolicy&quot;: { # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests. # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests.
                 # timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy.
-                # Not supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true.
               &quot;abort&quot;: { # Specification for how requests are aborted as part of fault injection. # The specification for how client requests are aborted as part of fault injection.
                 &quot;httpStatus&quot;: 42, # The HTTP status code used to abort the request.
                     # The value must be between 200 and 599 inclusive.
+                    # For gRPC protocol, the gRPC status code is mapped to HTTP status code according to this  mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
                 &quot;percentage&quot;: 3.14, # The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.
                     # The value must be between 0.0 and 100.0 inclusive.
               },
@@ -1915,7 +1915,7 @@
                 &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
                 &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
               },
-              &quot;retryConditions&quot;: [ # Specfies one or more conditions when this retry rule applies. Valid values are:
+              &quot;retryConditions&quot;: [ # Specifies one or more conditions when this retry rule applies. Valid values are:
                   # - 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, or if the backend service does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams.
                   # - gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.
                   # -
@@ -2094,10 +2094,10 @@
     },
     &quot;faultInjectionPolicy&quot;: { # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests. # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests.
         # timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy.
-        # Not supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true.
       &quot;abort&quot;: { # Specification for how requests are aborted as part of fault injection. # The specification for how client requests are aborted as part of fault injection.
         &quot;httpStatus&quot;: 42, # The HTTP status code used to abort the request.
             # The value must be between 200 and 599 inclusive.
+            # For gRPC protocol, the gRPC status code is mapped to HTTP status code according to this  mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
         &quot;percentage&quot;: 3.14, # The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.
             # The value must be between 0.0 and 100.0 inclusive.
       },
@@ -2128,7 +2128,7 @@
         &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
         &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
       },
-      &quot;retryConditions&quot;: [ # Specfies one or more conditions when this retry rule applies. Valid values are:
+      &quot;retryConditions&quot;: [ # Specifies one or more conditions when this retry rule applies. Valid values are:
           # - 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, or if the backend service does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams.
           # - gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.
           # -
@@ -2295,10 +2295,10 @@
         },
         &quot;faultInjectionPolicy&quot;: { # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests. # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests.
             # timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy.
-            # Not supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true.
           &quot;abort&quot;: { # Specification for how requests are aborted as part of fault injection. # The specification for how client requests are aborted as part of fault injection.
             &quot;httpStatus&quot;: 42, # The HTTP status code used to abort the request.
                 # The value must be between 200 and 599 inclusive.
+                # For gRPC protocol, the gRPC status code is mapped to HTTP status code according to this  mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
             &quot;percentage&quot;: 3.14, # The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.
                 # The value must be between 0.0 and 100.0 inclusive.
           },
@@ -2329,7 +2329,7 @@
             &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
             &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
           },
-          &quot;retryConditions&quot;: [ # Specfies one or more conditions when this retry rule applies. Valid values are:
+          &quot;retryConditions&quot;: [ # Specifies one or more conditions when this retry rule applies. Valid values are:
               # - 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, or if the backend service does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams.
               # - gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.
               # -
@@ -2491,10 +2491,10 @@
             },
             &quot;faultInjectionPolicy&quot;: { # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests. # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests.
                 # timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy.
-                # Not supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true.
               &quot;abort&quot;: { # Specification for how requests are aborted as part of fault injection. # The specification for how client requests are aborted as part of fault injection.
                 &quot;httpStatus&quot;: 42, # The HTTP status code used to abort the request.
                     # The value must be between 200 and 599 inclusive.
+                    # For gRPC protocol, the gRPC status code is mapped to HTTP status code according to this  mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
                 &quot;percentage&quot;: 3.14, # The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.
                     # The value must be between 0.0 and 100.0 inclusive.
               },
@@ -2525,7 +2525,7 @@
                 &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
                 &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
               },
-              &quot;retryConditions&quot;: [ # Specfies one or more conditions when this retry rule applies. Valid values are:
+              &quot;retryConditions&quot;: [ # Specifies one or more conditions when this retry rule applies. Valid values are:
                   # - 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, or if the backend service does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams.
                   # - gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.
                   # -
@@ -2768,10 +2768,10 @@
             },
             &quot;faultInjectionPolicy&quot;: { # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests. # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests.
                 # timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy.
-                # Not supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true.
               &quot;abort&quot;: { # Specification for how requests are aborted as part of fault injection. # The specification for how client requests are aborted as part of fault injection.
                 &quot;httpStatus&quot;: 42, # The HTTP status code used to abort the request.
                     # The value must be between 200 and 599 inclusive.
+                    # For gRPC protocol, the gRPC status code is mapped to HTTP status code according to this  mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
                 &quot;percentage&quot;: 3.14, # The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.
                     # The value must be between 0.0 and 100.0 inclusive.
               },
@@ -2802,7 +2802,7 @@
                 &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
                 &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
               },
-              &quot;retryConditions&quot;: [ # Specfies one or more conditions when this retry rule applies. Valid values are:
+              &quot;retryConditions&quot;: [ # Specifies one or more conditions when this retry rule applies. Valid values are:
                   # - 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, or if the backend service does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams.
                   # - gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.
                   # -
@@ -3156,10 +3156,10 @@
         },
         &quot;faultInjectionPolicy&quot;: { # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests. # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests.
             # timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy.
-            # Not supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true.
           &quot;abort&quot;: { # Specification for how requests are aborted as part of fault injection. # The specification for how client requests are aborted as part of fault injection.
             &quot;httpStatus&quot;: 42, # The HTTP status code used to abort the request.
                 # The value must be between 200 and 599 inclusive.
+                # For gRPC protocol, the gRPC status code is mapped to HTTP status code according to this  mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
             &quot;percentage&quot;: 3.14, # The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.
                 # The value must be between 0.0 and 100.0 inclusive.
           },
@@ -3190,7 +3190,7 @@
             &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
             &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
           },
-          &quot;retryConditions&quot;: [ # Specfies one or more conditions when this retry rule applies. Valid values are:
+          &quot;retryConditions&quot;: [ # Specifies one or more conditions when this retry rule applies. Valid values are:
               # - 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, or if the backend service does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams.
               # - gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.
               # -
@@ -3357,10 +3357,10 @@
             },
             &quot;faultInjectionPolicy&quot;: { # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests. # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests.
                 # timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy.
-                # Not supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true.
               &quot;abort&quot;: { # Specification for how requests are aborted as part of fault injection. # The specification for how client requests are aborted as part of fault injection.
                 &quot;httpStatus&quot;: 42, # The HTTP status code used to abort the request.
                     # The value must be between 200 and 599 inclusive.
+                    # For gRPC protocol, the gRPC status code is mapped to HTTP status code according to this  mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
                 &quot;percentage&quot;: 3.14, # The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.
                     # The value must be between 0.0 and 100.0 inclusive.
               },
@@ -3391,7 +3391,7 @@
                 &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
                 &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
               },
-              &quot;retryConditions&quot;: [ # Specfies one or more conditions when this retry rule applies. Valid values are:
+              &quot;retryConditions&quot;: [ # Specifies one or more conditions when this retry rule applies. Valid values are:
                   # - 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, or if the backend service does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams.
                   # - gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.
                   # -
@@ -3553,10 +3553,10 @@
                 },
                 &quot;faultInjectionPolicy&quot;: { # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests. # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests.
                     # timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy.
-                    # Not supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true.
                   &quot;abort&quot;: { # Specification for how requests are aborted as part of fault injection. # The specification for how client requests are aborted as part of fault injection.
                     &quot;httpStatus&quot;: 42, # The HTTP status code used to abort the request.
                         # The value must be between 200 and 599 inclusive.
+                        # For gRPC protocol, the gRPC status code is mapped to HTTP status code according to this  mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
                     &quot;percentage&quot;: 3.14, # The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.
                         # The value must be between 0.0 and 100.0 inclusive.
                   },
@@ -3587,7 +3587,7 @@
                     &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
                     &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
                   },
-                  &quot;retryConditions&quot;: [ # Specfies one or more conditions when this retry rule applies. Valid values are:
+                  &quot;retryConditions&quot;: [ # Specifies one or more conditions when this retry rule applies. Valid values are:
                       # - 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, or if the backend service does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams.
                       # - gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.
                       # -
@@ -3830,10 +3830,10 @@
                 },
                 &quot;faultInjectionPolicy&quot;: { # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests. # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests.
                     # timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy.
-                    # Not supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true.
                   &quot;abort&quot;: { # Specification for how requests are aborted as part of fault injection. # The specification for how client requests are aborted as part of fault injection.
                     &quot;httpStatus&quot;: 42, # The HTTP status code used to abort the request.
                         # The value must be between 200 and 599 inclusive.
+                        # For gRPC protocol, the gRPC status code is mapped to HTTP status code according to this  mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
                     &quot;percentage&quot;: 3.14, # The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.
                         # The value must be between 0.0 and 100.0 inclusive.
                   },
@@ -3864,7 +3864,7 @@
                     &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
                     &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
                   },
-                  &quot;retryConditions&quot;: [ # Specfies one or more conditions when this retry rule applies. Valid values are:
+                  &quot;retryConditions&quot;: [ # Specifies one or more conditions when this retry rule applies. Valid values are:
                       # - 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, or if the backend service does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams.
                       # - gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.
                       # -
@@ -4074,10 +4074,10 @@
     },
     &quot;faultInjectionPolicy&quot;: { # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests. # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests.
         # timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy.
-        # Not supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true.
       &quot;abort&quot;: { # Specification for how requests are aborted as part of fault injection. # The specification for how client requests are aborted as part of fault injection.
         &quot;httpStatus&quot;: 42, # The HTTP status code used to abort the request.
             # The value must be between 200 and 599 inclusive.
+            # For gRPC protocol, the gRPC status code is mapped to HTTP status code according to this  mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
         &quot;percentage&quot;: 3.14, # The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.
             # The value must be between 0.0 and 100.0 inclusive.
       },
@@ -4108,7 +4108,7 @@
         &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
         &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
       },
-      &quot;retryConditions&quot;: [ # Specfies one or more conditions when this retry rule applies. Valid values are:
+      &quot;retryConditions&quot;: [ # Specifies one or more conditions when this retry rule applies. Valid values are:
           # - 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, or if the backend service does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams.
           # - gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.
           # -
@@ -4275,10 +4275,10 @@
         },
         &quot;faultInjectionPolicy&quot;: { # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests. # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests.
             # timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy.
-            # Not supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true.
           &quot;abort&quot;: { # Specification for how requests are aborted as part of fault injection. # The specification for how client requests are aborted as part of fault injection.
             &quot;httpStatus&quot;: 42, # The HTTP status code used to abort the request.
                 # The value must be between 200 and 599 inclusive.
+                # For gRPC protocol, the gRPC status code is mapped to HTTP status code according to this  mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
             &quot;percentage&quot;: 3.14, # The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.
                 # The value must be between 0.0 and 100.0 inclusive.
           },
@@ -4309,7 +4309,7 @@
             &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
             &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
           },
-          &quot;retryConditions&quot;: [ # Specfies one or more conditions when this retry rule applies. Valid values are:
+          &quot;retryConditions&quot;: [ # Specifies one or more conditions when this retry rule applies. Valid values are:
               # - 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, or if the backend service does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams.
               # - gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.
               # -
@@ -4471,10 +4471,10 @@
             },
             &quot;faultInjectionPolicy&quot;: { # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests. # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests.
                 # timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy.
-                # Not supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true.
               &quot;abort&quot;: { # Specification for how requests are aborted as part of fault injection. # The specification for how client requests are aborted as part of fault injection.
                 &quot;httpStatus&quot;: 42, # The HTTP status code used to abort the request.
                     # The value must be between 200 and 599 inclusive.
+                    # For gRPC protocol, the gRPC status code is mapped to HTTP status code according to this  mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
                 &quot;percentage&quot;: 3.14, # The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.
                     # The value must be between 0.0 and 100.0 inclusive.
               },
@@ -4505,7 +4505,7 @@
                 &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
                 &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
               },
-              &quot;retryConditions&quot;: [ # Specfies one or more conditions when this retry rule applies. Valid values are:
+              &quot;retryConditions&quot;: [ # Specifies one or more conditions when this retry rule applies. Valid values are:
                   # - 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, or if the backend service does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams.
                   # - gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.
                   # -
@@ -4748,10 +4748,10 @@
             },
             &quot;faultInjectionPolicy&quot;: { # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests. # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests.
                 # timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy.
-                # Not supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true.
               &quot;abort&quot;: { # Specification for how requests are aborted as part of fault injection. # The specification for how client requests are aborted as part of fault injection.
                 &quot;httpStatus&quot;: 42, # The HTTP status code used to abort the request.
                     # The value must be between 200 and 599 inclusive.
+                    # For gRPC protocol, the gRPC status code is mapped to HTTP status code according to this  mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
                 &quot;percentage&quot;: 3.14, # The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.
                     # The value must be between 0.0 and 100.0 inclusive.
               },
@@ -4782,7 +4782,7 @@
                 &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
                 &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
               },
-              &quot;retryConditions&quot;: [ # Specfies one or more conditions when this retry rule applies. Valid values are:
+              &quot;retryConditions&quot;: [ # Specifies one or more conditions when this retry rule applies. Valid values are:
                   # - 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, or if the backend service does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams.
                   # - gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.
                   # -
@@ -5031,10 +5031,10 @@
     },
     &quot;faultInjectionPolicy&quot;: { # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests. # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests.
         # timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy.
-        # Not supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true.
       &quot;abort&quot;: { # Specification for how requests are aborted as part of fault injection. # The specification for how client requests are aborted as part of fault injection.
         &quot;httpStatus&quot;: 42, # The HTTP status code used to abort the request.
             # The value must be between 200 and 599 inclusive.
+            # For gRPC protocol, the gRPC status code is mapped to HTTP status code according to this  mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
         &quot;percentage&quot;: 3.14, # The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.
             # The value must be between 0.0 and 100.0 inclusive.
       },
@@ -5065,7 +5065,7 @@
         &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
         &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
       },
-      &quot;retryConditions&quot;: [ # Specfies one or more conditions when this retry rule applies. Valid values are:
+      &quot;retryConditions&quot;: [ # Specifies one or more conditions when this retry rule applies. Valid values are:
           # - 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, or if the backend service does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams.
           # - gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.
           # -
@@ -5232,10 +5232,10 @@
         },
         &quot;faultInjectionPolicy&quot;: { # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests. # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests.
             # timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy.
-            # Not supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true.
           &quot;abort&quot;: { # Specification for how requests are aborted as part of fault injection. # The specification for how client requests are aborted as part of fault injection.
             &quot;httpStatus&quot;: 42, # The HTTP status code used to abort the request.
                 # The value must be between 200 and 599 inclusive.
+                # For gRPC protocol, the gRPC status code is mapped to HTTP status code according to this  mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
             &quot;percentage&quot;: 3.14, # The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.
                 # The value must be between 0.0 and 100.0 inclusive.
           },
@@ -5266,7 +5266,7 @@
             &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
             &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
           },
-          &quot;retryConditions&quot;: [ # Specfies one or more conditions when this retry rule applies. Valid values are:
+          &quot;retryConditions&quot;: [ # Specifies one or more conditions when this retry rule applies. Valid values are:
               # - 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, or if the backend service does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams.
               # - gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.
               # -
@@ -5428,10 +5428,10 @@
             },
             &quot;faultInjectionPolicy&quot;: { # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests. # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests.
                 # timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy.
-                # Not supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true.
               &quot;abort&quot;: { # Specification for how requests are aborted as part of fault injection. # The specification for how client requests are aborted as part of fault injection.
                 &quot;httpStatus&quot;: 42, # The HTTP status code used to abort the request.
                     # The value must be between 200 and 599 inclusive.
+                    # For gRPC protocol, the gRPC status code is mapped to HTTP status code according to this  mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
                 &quot;percentage&quot;: 3.14, # The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.
                     # The value must be between 0.0 and 100.0 inclusive.
               },
@@ -5462,7 +5462,7 @@
                 &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
                 &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
               },
-              &quot;retryConditions&quot;: [ # Specfies one or more conditions when this retry rule applies. Valid values are:
+              &quot;retryConditions&quot;: [ # Specifies one or more conditions when this retry rule applies. Valid values are:
                   # - 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, or if the backend service does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams.
                   # - gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.
                   # -
@@ -5705,10 +5705,10 @@
             },
             &quot;faultInjectionPolicy&quot;: { # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests. # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests.
                 # timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy.
-                # Not supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true.
               &quot;abort&quot;: { # Specification for how requests are aborted as part of fault injection. # The specification for how client requests are aborted as part of fault injection.
                 &quot;httpStatus&quot;: 42, # The HTTP status code used to abort the request.
                     # The value must be between 200 and 599 inclusive.
+                    # For gRPC protocol, the gRPC status code is mapped to HTTP status code according to this  mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
                 &quot;percentage&quot;: 3.14, # The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.
                     # The value must be between 0.0 and 100.0 inclusive.
               },
@@ -5739,7 +5739,7 @@
                 &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
                 &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
               },
-              &quot;retryConditions&quot;: [ # Specfies one or more conditions when this retry rule applies. Valid values are:
+              &quot;retryConditions&quot;: [ # Specifies one or more conditions when this retry rule applies. Valid values are:
                   # - 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, or if the backend service does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams.
                   # - gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.
                   # -
@@ -5989,10 +5989,10 @@
       },
       &quot;faultInjectionPolicy&quot;: { # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests. # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests.
           # timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy.
-          # Not supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true.
         &quot;abort&quot;: { # Specification for how requests are aborted as part of fault injection. # The specification for how client requests are aborted as part of fault injection.
           &quot;httpStatus&quot;: 42, # The HTTP status code used to abort the request.
               # The value must be between 200 and 599 inclusive.
+              # For gRPC protocol, the gRPC status code is mapped to HTTP status code according to this  mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
           &quot;percentage&quot;: 3.14, # The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.
               # The value must be between 0.0 and 100.0 inclusive.
         },
@@ -6023,7 +6023,7 @@
           &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
           &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
         },
-        &quot;retryConditions&quot;: [ # Specfies one or more conditions when this retry rule applies. Valid values are:
+        &quot;retryConditions&quot;: [ # Specifies one or more conditions when this retry rule applies. Valid values are:
             # - 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, or if the backend service does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams.
             # - gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.
             # -
@@ -6190,10 +6190,10 @@
           },
           &quot;faultInjectionPolicy&quot;: { # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests. # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests.
               # timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy.
-              # Not supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true.
             &quot;abort&quot;: { # Specification for how requests are aborted as part of fault injection. # The specification for how client requests are aborted as part of fault injection.
               &quot;httpStatus&quot;: 42, # The HTTP status code used to abort the request.
                   # The value must be between 200 and 599 inclusive.
+                  # For gRPC protocol, the gRPC status code is mapped to HTTP status code according to this  mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
               &quot;percentage&quot;: 3.14, # The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.
                   # The value must be between 0.0 and 100.0 inclusive.
             },
@@ -6224,7 +6224,7 @@
               &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
               &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
             },
-            &quot;retryConditions&quot;: [ # Specfies one or more conditions when this retry rule applies. Valid values are:
+            &quot;retryConditions&quot;: [ # Specifies one or more conditions when this retry rule applies. Valid values are:
                 # - 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, or if the backend service does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams.
                 # - gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.
                 # -
@@ -6386,10 +6386,10 @@
               },
               &quot;faultInjectionPolicy&quot;: { # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests. # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests.
                   # timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy.
-                  # Not supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true.
                 &quot;abort&quot;: { # Specification for how requests are aborted as part of fault injection. # The specification for how client requests are aborted as part of fault injection.
                   &quot;httpStatus&quot;: 42, # The HTTP status code used to abort the request.
                       # The value must be between 200 and 599 inclusive.
+                      # For gRPC protocol, the gRPC status code is mapped to HTTP status code according to this  mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
                   &quot;percentage&quot;: 3.14, # The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.
                       # The value must be between 0.0 and 100.0 inclusive.
                 },
@@ -6420,7 +6420,7 @@
                   &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
                   &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
                 },
-                &quot;retryConditions&quot;: [ # Specfies one or more conditions when this retry rule applies. Valid values are:
+                &quot;retryConditions&quot;: [ # Specifies one or more conditions when this retry rule applies. Valid values are:
                     # - 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, or if the backend service does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams.
                     # - gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.
                     # -
@@ -6663,10 +6663,10 @@
               },
               &quot;faultInjectionPolicy&quot;: { # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests. # The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests.
                   # timeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy.
-                  # Not supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true.
                 &quot;abort&quot;: { # Specification for how requests are aborted as part of fault injection. # The specification for how client requests are aborted as part of fault injection.
                   &quot;httpStatus&quot;: 42, # The HTTP status code used to abort the request.
                       # The value must be between 200 and 599 inclusive.
+                      # For gRPC protocol, the gRPC status code is mapped to HTTP status code according to this  mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
                   &quot;percentage&quot;: 3.14, # The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.
                       # The value must be between 0.0 and 100.0 inclusive.
                 },
@@ -6697,7 +6697,7 @@
                   &quot;nanos&quot;: 42, # Span of time that&#x27;s a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.
                   &quot;seconds&quot;: &quot;A String&quot;, # Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
                 },
-                &quot;retryConditions&quot;: [ # Specfies one or more conditions when this retry rule applies. Valid values are:
+                &quot;retryConditions&quot;: [ # Specifies one or more conditions when this retry rule applies. Valid values are:
                     # - 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, or if the backend service does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams.
                     # - gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.
                     # -
diff --git a/docs/dyn/container_v1.projects.locations.clusters.html b/docs/dyn/container_v1.projects.locations.clusters.html
index 85ed00c..69e2d39 100644
--- a/docs/dyn/container_v1.projects.locations.clusters.html
+++ b/docs/dyn/container_v1.projects.locations.clusters.html
@@ -413,6 +413,7 @@
     &quot;name&quot;: &quot;A String&quot;, # The name of this cluster. The name must be unique within this project and location (e.g. zone or region), and can be up to 40 characters with the following restrictions: * Lowercase letters, numbers, and hyphens only. * Must start with a letter. * Must end with a number or a letter.
     &quot;network&quot;: &quot;A String&quot;, # The name of the Google Compute Engine [network](https://cloud.google.com/compute/docs/networks-and-firewalls#networks) to which the cluster is connected. If left unspecified, the `default` network will be used.
     &quot;networkConfig&quot;: { # NetworkConfig reports the relative names of network &amp; subnetwork. # Configuration for cluster networking.
+      &quot;datapathProvider&quot;: &quot;A String&quot;, # The desired datapath provider for this cluster. By default, uses the IPTables-based kube-proxy implementation.
       &quot;defaultSnatStatus&quot;: { # DefaultSnatStatus contains the desired state of whether default sNAT should be disabled on the cluster. # Whether the cluster disables default in-node sNAT rules. In-node sNAT rules will be disabled when default_snat_status is disabled. When disabled is set to false, default IP masquerade rules will be applied to the nodes to prevent sNAT on cluster internal traffic.
         &quot;disabled&quot;: True or False, # Disables cluster default sNAT rules.
       },
@@ -980,6 +981,7 @@
   &quot;name&quot;: &quot;A String&quot;, # The name of this cluster. The name must be unique within this project and location (e.g. zone or region), and can be up to 40 characters with the following restrictions: * Lowercase letters, numbers, and hyphens only. * Must start with a letter. * Must end with a number or a letter.
   &quot;network&quot;: &quot;A String&quot;, # The name of the Google Compute Engine [network](https://cloud.google.com/compute/docs/networks-and-firewalls#networks) to which the cluster is connected. If left unspecified, the `default` network will be used.
   &quot;networkConfig&quot;: { # NetworkConfig reports the relative names of network &amp; subnetwork. # Configuration for cluster networking.
+    &quot;datapathProvider&quot;: &quot;A String&quot;, # The desired datapath provider for this cluster. By default, uses the IPTables-based kube-proxy implementation.
     &quot;defaultSnatStatus&quot;: { # DefaultSnatStatus contains the desired state of whether default sNAT should be disabled on the cluster. # Whether the cluster disables default in-node sNAT rules. In-node sNAT rules will be disabled when default_snat_status is disabled. When disabled is set to false, default IP masquerade rules will be applied to the nodes to prevent sNAT on cluster internal traffic.
       &quot;disabled&quot;: True or False, # Disables cluster default sNAT rules.
     },
@@ -1450,6 +1452,7 @@
       &quot;name&quot;: &quot;A String&quot;, # The name of this cluster. The name must be unique within this project and location (e.g. zone or region), and can be up to 40 characters with the following restrictions: * Lowercase letters, numbers, and hyphens only. * Must start with a letter. * Must end with a number or a letter.
       &quot;network&quot;: &quot;A String&quot;, # The name of the Google Compute Engine [network](https://cloud.google.com/compute/docs/networks-and-firewalls#networks) to which the cluster is connected. If left unspecified, the `default` network will be used.
       &quot;networkConfig&quot;: { # NetworkConfig reports the relative names of network &amp; subnetwork. # Configuration for cluster networking.
+        &quot;datapathProvider&quot;: &quot;A String&quot;, # The desired datapath provider for this cluster. By default, uses the IPTables-based kube-proxy implementation.
         &quot;defaultSnatStatus&quot;: { # DefaultSnatStatus contains the desired state of whether default sNAT should be disabled on the cluster. # Whether the cluster disables default in-node sNAT rules. In-node sNAT rules will be disabled when default_snat_status is disabled. When disabled is set to false, default IP masquerade rules will be applied to the nodes to prevent sNAT on cluster internal traffic.
           &quot;disabled&quot;: True or False, # Disables cluster default sNAT rules.
         },
@@ -2627,6 +2630,7 @@
       &quot;keyName&quot;: &quot;A String&quot;, # Name of CloudKMS key to use for the encryption of secrets in etcd. Ex. projects/my-project/locations/global/keyRings/my-ring/cryptoKeys/my-key
       &quot;state&quot;: &quot;A String&quot;, # Denotes the state of etcd encryption.
     },
+    &quot;desiredDatapathProvider&quot;: &quot;A String&quot;, # The desired datapath provider for the cluster.
     &quot;desiredDefaultSnatStatus&quot;: { # DefaultSnatStatus contains the desired state of whether default sNAT should be disabled on the cluster. # The desired status of whether to disable default sNAT for this cluster.
       &quot;disabled&quot;: True or False, # Disables cluster default sNAT rules.
     },
diff --git a/docs/dyn/container_v1.projects.zones.clusters.html b/docs/dyn/container_v1.projects.zones.clusters.html
index 246b46d..0f0fb1a 100644
--- a/docs/dyn/container_v1.projects.zones.clusters.html
+++ b/docs/dyn/container_v1.projects.zones.clusters.html
@@ -514,6 +514,7 @@
     &quot;name&quot;: &quot;A String&quot;, # The name of this cluster. The name must be unique within this project and location (e.g. zone or region), and can be up to 40 characters with the following restrictions: * Lowercase letters, numbers, and hyphens only. * Must start with a letter. * Must end with a number or a letter.
     &quot;network&quot;: &quot;A String&quot;, # The name of the Google Compute Engine [network](https://cloud.google.com/compute/docs/networks-and-firewalls#networks) to which the cluster is connected. If left unspecified, the `default` network will be used.
     &quot;networkConfig&quot;: { # NetworkConfig reports the relative names of network &amp; subnetwork. # Configuration for cluster networking.
+      &quot;datapathProvider&quot;: &quot;A String&quot;, # The desired datapath provider for this cluster. By default, uses the IPTables-based kube-proxy implementation.
       &quot;defaultSnatStatus&quot;: { # DefaultSnatStatus contains the desired state of whether default sNAT should be disabled on the cluster. # Whether the cluster disables default in-node sNAT rules. In-node sNAT rules will be disabled when default_snat_status is disabled. When disabled is set to false, default IP masquerade rules will be applied to the nodes to prevent sNAT on cluster internal traffic.
         &quot;disabled&quot;: True or False, # Disables cluster default sNAT rules.
       },
@@ -1081,6 +1082,7 @@
   &quot;name&quot;: &quot;A String&quot;, # The name of this cluster. The name must be unique within this project and location (e.g. zone or region), and can be up to 40 characters with the following restrictions: * Lowercase letters, numbers, and hyphens only. * Must start with a letter. * Must end with a number or a letter.
   &quot;network&quot;: &quot;A String&quot;, # The name of the Google Compute Engine [network](https://cloud.google.com/compute/docs/networks-and-firewalls#networks) to which the cluster is connected. If left unspecified, the `default` network will be used.
   &quot;networkConfig&quot;: { # NetworkConfig reports the relative names of network &amp; subnetwork. # Configuration for cluster networking.
+    &quot;datapathProvider&quot;: &quot;A String&quot;, # The desired datapath provider for this cluster. By default, uses the IPTables-based kube-proxy implementation.
     &quot;defaultSnatStatus&quot;: { # DefaultSnatStatus contains the desired state of whether default sNAT should be disabled on the cluster. # Whether the cluster disables default in-node sNAT rules. In-node sNAT rules will be disabled when default_snat_status is disabled. When disabled is set to false, default IP masquerade rules will be applied to the nodes to prevent sNAT on cluster internal traffic.
       &quot;disabled&quot;: True or False, # Disables cluster default sNAT rules.
     },
@@ -1595,6 +1597,7 @@
       &quot;name&quot;: &quot;A String&quot;, # The name of this cluster. The name must be unique within this project and location (e.g. zone or region), and can be up to 40 characters with the following restrictions: * Lowercase letters, numbers, and hyphens only. * Must start with a letter. * Must end with a number or a letter.
       &quot;network&quot;: &quot;A String&quot;, # The name of the Google Compute Engine [network](https://cloud.google.com/compute/docs/networks-and-firewalls#networks) to which the cluster is connected. If left unspecified, the `default` network will be used.
       &quot;networkConfig&quot;: { # NetworkConfig reports the relative names of network &amp; subnetwork. # Configuration for cluster networking.
+        &quot;datapathProvider&quot;: &quot;A String&quot;, # The desired datapath provider for this cluster. By default, uses the IPTables-based kube-proxy implementation.
         &quot;defaultSnatStatus&quot;: { # DefaultSnatStatus contains the desired state of whether default sNAT should be disabled on the cluster. # Whether the cluster disables default in-node sNAT rules. In-node sNAT rules will be disabled when default_snat_status is disabled. When disabled is set to false, default IP masquerade rules will be applied to the nodes to prevent sNAT on cluster internal traffic.
           &quot;disabled&quot;: True or False, # Disables cluster default sNAT rules.
         },
@@ -2688,6 +2691,7 @@
       &quot;keyName&quot;: &quot;A String&quot;, # Name of CloudKMS key to use for the encryption of secrets in etcd. Ex. projects/my-project/locations/global/keyRings/my-ring/cryptoKeys/my-key
       &quot;state&quot;: &quot;A String&quot;, # Denotes the state of etcd encryption.
     },
+    &quot;desiredDatapathProvider&quot;: &quot;A String&quot;, # The desired datapath provider for the cluster.
     &quot;desiredDefaultSnatStatus&quot;: { # DefaultSnatStatus contains the desired state of whether default sNAT should be disabled on the cluster. # The desired status of whether to disable default sNAT for this cluster.
       &quot;disabled&quot;: True or False, # Disables cluster default sNAT rules.
     },
diff --git a/docs/dyn/container_v1beta1.projects.locations.clusters.html b/docs/dyn/container_v1beta1.projects.locations.clusters.html
index 6701a3e..5f3fea4 100644
--- a/docs/dyn/container_v1beta1.projects.locations.clusters.html
+++ b/docs/dyn/container_v1beta1.projects.locations.clusters.html
@@ -432,6 +432,11 @@
       &quot;defaultSnatStatus&quot;: { # DefaultSnatStatus contains the desired state of whether default sNAT should be disabled on the cluster. # Whether the cluster disables default in-node sNAT rules. In-node sNAT rules will be disabled when default_snat_status is disabled. When disabled is set to false, default IP masquerade rules will be applied to the nodes to prevent sNAT on cluster internal traffic.
         &quot;disabled&quot;: True or False, # Disables cluster default sNAT rules.
       },
+      &quot;dnsConfig&quot;: { # DNSConfig contains the desired set of options for configuring clusterDNS. # DNSConfig contains clusterDNS config for this cluster.
+        &quot;clusterDns&quot;: &quot;A String&quot;, # cluster_dns indicates which in-cluster DNS provider should be used.
+        &quot;clusterDnsDomain&quot;: &quot;A String&quot;, # cluster_dns_domain is the suffix used for all cluster service records.
+        &quot;clusterDnsScope&quot;: &quot;A String&quot;, # cluster_dns_scope indicates the scope of access to cluster DNS records.
+      },
       &quot;enableIntraNodeVisibility&quot;: True or False, # Whether Intra-node visibility is enabled for this cluster. This makes same node pod to pod traffic visible for VPC network.
       &quot;enableL4ilbSubsetting&quot;: True or False, # Whether L4ILB Subsetting is enabled for this cluster.
       &quot;network&quot;: &quot;A String&quot;, # Output only. The relative name of the Google Compute Engine network(https://cloud.google.com/compute/docs/networks-and-firewalls#networks) to which the cluster is connected. Example: projects/my-project/global/networks/my-network
@@ -1047,6 +1052,11 @@
     &quot;defaultSnatStatus&quot;: { # DefaultSnatStatus contains the desired state of whether default sNAT should be disabled on the cluster. # Whether the cluster disables default in-node sNAT rules. In-node sNAT rules will be disabled when default_snat_status is disabled. When disabled is set to false, default IP masquerade rules will be applied to the nodes to prevent sNAT on cluster internal traffic.
       &quot;disabled&quot;: True or False, # Disables cluster default sNAT rules.
     },
+    &quot;dnsConfig&quot;: { # DNSConfig contains the desired set of options for configuring clusterDNS. # DNSConfig contains clusterDNS config for this cluster.
+      &quot;clusterDns&quot;: &quot;A String&quot;, # cluster_dns indicates which in-cluster DNS provider should be used.
+      &quot;clusterDnsDomain&quot;: &quot;A String&quot;, # cluster_dns_domain is the suffix used for all cluster service records.
+      &quot;clusterDnsScope&quot;: &quot;A String&quot;, # cluster_dns_scope indicates the scope of access to cluster DNS records.
+    },
     &quot;enableIntraNodeVisibility&quot;: True or False, # Whether Intra-node visibility is enabled for this cluster. This makes same node pod to pod traffic visible for VPC network.
     &quot;enableL4ilbSubsetting&quot;: True or False, # Whether L4ILB Subsetting is enabled for this cluster.
     &quot;network&quot;: &quot;A String&quot;, # Output only. The relative name of the Google Compute Engine network(https://cloud.google.com/compute/docs/networks-and-firewalls#networks) to which the cluster is connected. Example: projects/my-project/global/networks/my-network
@@ -1565,6 +1575,11 @@
         &quot;defaultSnatStatus&quot;: { # DefaultSnatStatus contains the desired state of whether default sNAT should be disabled on the cluster. # Whether the cluster disables default in-node sNAT rules. In-node sNAT rules will be disabled when default_snat_status is disabled. When disabled is set to false, default IP masquerade rules will be applied to the nodes to prevent sNAT on cluster internal traffic.
           &quot;disabled&quot;: True or False, # Disables cluster default sNAT rules.
         },
+        &quot;dnsConfig&quot;: { # DNSConfig contains the desired set of options for configuring clusterDNS. # DNSConfig contains clusterDNS config for this cluster.
+          &quot;clusterDns&quot;: &quot;A String&quot;, # cluster_dns indicates which in-cluster DNS provider should be used.
+          &quot;clusterDnsDomain&quot;: &quot;A String&quot;, # cluster_dns_domain is the suffix used for all cluster service records.
+          &quot;clusterDnsScope&quot;: &quot;A String&quot;, # cluster_dns_scope indicates the scope of access to cluster DNS records.
+        },
         &quot;enableIntraNodeVisibility&quot;: True or False, # Whether Intra-node visibility is enabled for this cluster. This makes same node pod to pod traffic visible for VPC network.
         &quot;enableL4ilbSubsetting&quot;: True or False, # Whether L4ILB Subsetting is enabled for this cluster.
         &quot;network&quot;: &quot;A String&quot;, # Output only. The relative name of the Google Compute Engine network(https://cloud.google.com/compute/docs/networks-and-firewalls#networks) to which the cluster is connected. Example: projects/my-project/global/networks/my-network
@@ -2793,6 +2808,11 @@
     &quot;desiredDefaultSnatStatus&quot;: { # DefaultSnatStatus contains the desired state of whether default sNAT should be disabled on the cluster. # The desired status of whether to disable default sNAT for this cluster.
       &quot;disabled&quot;: True or False, # Disables cluster default sNAT rules.
     },
+    &quot;desiredDnsConfig&quot;: { # DNSConfig contains the desired set of options for configuring clusterDNS. # DNSConfig contains clusterDNS config for this cluster.
+      &quot;clusterDns&quot;: &quot;A String&quot;, # cluster_dns indicates which in-cluster DNS provider should be used.
+      &quot;clusterDnsDomain&quot;: &quot;A String&quot;, # cluster_dns_domain is the suffix used for all cluster service records.
+      &quot;clusterDnsScope&quot;: &quot;A String&quot;, # cluster_dns_scope indicates the scope of access to cluster DNS records.
+    },
     &quot;desiredImageType&quot;: &quot;A String&quot;, # The desired image type for the node pool. NOTE: Set the &quot;desired_node_pool&quot; field as well.
     &quot;desiredIntraNodeVisibilityConfig&quot;: { # IntraNodeVisibilityConfig contains the desired config of the intra-node visibility on this cluster. # The desired config of Intra-node visibility.
       &quot;enabled&quot;: True or False, # Enables intra node visibility for this cluster.
diff --git a/docs/dyn/container_v1beta1.projects.zones.clusters.html b/docs/dyn/container_v1beta1.projects.zones.clusters.html
index b5f7f06..98349d0 100644
--- a/docs/dyn/container_v1beta1.projects.zones.clusters.html
+++ b/docs/dyn/container_v1beta1.projects.zones.clusters.html
@@ -540,6 +540,11 @@
       &quot;defaultSnatStatus&quot;: { # DefaultSnatStatus contains the desired state of whether default sNAT should be disabled on the cluster. # Whether the cluster disables default in-node sNAT rules. In-node sNAT rules will be disabled when default_snat_status is disabled. When disabled is set to false, default IP masquerade rules will be applied to the nodes to prevent sNAT on cluster internal traffic.
         &quot;disabled&quot;: True or False, # Disables cluster default sNAT rules.
       },
+      &quot;dnsConfig&quot;: { # DNSConfig contains the desired set of options for configuring clusterDNS. # DNSConfig contains clusterDNS config for this cluster.
+        &quot;clusterDns&quot;: &quot;A String&quot;, # cluster_dns indicates which in-cluster DNS provider should be used.
+        &quot;clusterDnsDomain&quot;: &quot;A String&quot;, # cluster_dns_domain is the suffix used for all cluster service records.
+        &quot;clusterDnsScope&quot;: &quot;A String&quot;, # cluster_dns_scope indicates the scope of access to cluster DNS records.
+      },
       &quot;enableIntraNodeVisibility&quot;: True or False, # Whether Intra-node visibility is enabled for this cluster. This makes same node pod to pod traffic visible for VPC network.
       &quot;enableL4ilbSubsetting&quot;: True or False, # Whether L4ILB Subsetting is enabled for this cluster.
       &quot;network&quot;: &quot;A String&quot;, # Output only. The relative name of the Google Compute Engine network(https://cloud.google.com/compute/docs/networks-and-firewalls#networks) to which the cluster is connected. Example: projects/my-project/global/networks/my-network
@@ -1155,6 +1160,11 @@
     &quot;defaultSnatStatus&quot;: { # DefaultSnatStatus contains the desired state of whether default sNAT should be disabled on the cluster. # Whether the cluster disables default in-node sNAT rules. In-node sNAT rules will be disabled when default_snat_status is disabled. When disabled is set to false, default IP masquerade rules will be applied to the nodes to prevent sNAT on cluster internal traffic.
       &quot;disabled&quot;: True or False, # Disables cluster default sNAT rules.
     },
+    &quot;dnsConfig&quot;: { # DNSConfig contains the desired set of options for configuring clusterDNS. # DNSConfig contains clusterDNS config for this cluster.
+      &quot;clusterDns&quot;: &quot;A String&quot;, # cluster_dns indicates which in-cluster DNS provider should be used.
+      &quot;clusterDnsDomain&quot;: &quot;A String&quot;, # cluster_dns_domain is the suffix used for all cluster service records.
+      &quot;clusterDnsScope&quot;: &quot;A String&quot;, # cluster_dns_scope indicates the scope of access to cluster DNS records.
+    },
     &quot;enableIntraNodeVisibility&quot;: True or False, # Whether Intra-node visibility is enabled for this cluster. This makes same node pod to pod traffic visible for VPC network.
     &quot;enableL4ilbSubsetting&quot;: True or False, # Whether L4ILB Subsetting is enabled for this cluster.
     &quot;network&quot;: &quot;A String&quot;, # Output only. The relative name of the Google Compute Engine network(https://cloud.google.com/compute/docs/networks-and-firewalls#networks) to which the cluster is connected. Example: projects/my-project/global/networks/my-network
@@ -1717,6 +1727,11 @@
         &quot;defaultSnatStatus&quot;: { # DefaultSnatStatus contains the desired state of whether default sNAT should be disabled on the cluster. # Whether the cluster disables default in-node sNAT rules. In-node sNAT rules will be disabled when default_snat_status is disabled. When disabled is set to false, default IP masquerade rules will be applied to the nodes to prevent sNAT on cluster internal traffic.
           &quot;disabled&quot;: True or False, # Disables cluster default sNAT rules.
         },
+        &quot;dnsConfig&quot;: { # DNSConfig contains the desired set of options for configuring clusterDNS. # DNSConfig contains clusterDNS config for this cluster.
+          &quot;clusterDns&quot;: &quot;A String&quot;, # cluster_dns indicates which in-cluster DNS provider should be used.
+          &quot;clusterDnsDomain&quot;: &quot;A String&quot;, # cluster_dns_domain is the suffix used for all cluster service records.
+          &quot;clusterDnsScope&quot;: &quot;A String&quot;, # cluster_dns_scope indicates the scope of access to cluster DNS records.
+        },
         &quot;enableIntraNodeVisibility&quot;: True or False, # Whether Intra-node visibility is enabled for this cluster. This makes same node pod to pod traffic visible for VPC network.
         &quot;enableL4ilbSubsetting&quot;: True or False, # Whether L4ILB Subsetting is enabled for this cluster.
         &quot;network&quot;: &quot;A String&quot;, # Output only. The relative name of the Google Compute Engine network(https://cloud.google.com/compute/docs/networks-and-firewalls#networks) to which the cluster is connected. Example: projects/my-project/global/networks/my-network
@@ -2854,6 +2869,11 @@
     &quot;desiredDefaultSnatStatus&quot;: { # DefaultSnatStatus contains the desired state of whether default sNAT should be disabled on the cluster. # The desired status of whether to disable default sNAT for this cluster.
       &quot;disabled&quot;: True or False, # Disables cluster default sNAT rules.
     },
+    &quot;desiredDnsConfig&quot;: { # DNSConfig contains the desired set of options for configuring clusterDNS. # DNSConfig contains clusterDNS config for this cluster.
+      &quot;clusterDns&quot;: &quot;A String&quot;, # cluster_dns indicates which in-cluster DNS provider should be used.
+      &quot;clusterDnsDomain&quot;: &quot;A String&quot;, # cluster_dns_domain is the suffix used for all cluster service records.
+      &quot;clusterDnsScope&quot;: &quot;A String&quot;, # cluster_dns_scope indicates the scope of access to cluster DNS records.
+    },
     &quot;desiredImageType&quot;: &quot;A String&quot;, # The desired image type for the node pool. NOTE: Set the &quot;desired_node_pool&quot; field as well.
     &quot;desiredIntraNodeVisibilityConfig&quot;: { # IntraNodeVisibilityConfig contains the desired config of the intra-node visibility on this cluster. # The desired config of Intra-node visibility.
       &quot;enabled&quot;: True or False, # Enables intra node visibility for this cluster.
diff --git a/docs/dyn/content_v2_1.settlementtransactions.html b/docs/dyn/content_v2_1.settlementtransactions.html
index f894d92..205fb4e 100644
--- a/docs/dyn/content_v2_1.settlementtransactions.html
+++ b/docs/dyn/content_v2_1.settlementtransactions.html
@@ -117,7 +117,7 @@
           &quot;category&quot;: &quot;A String&quot;, # The category of the commission. Acceptable values are: - &quot;`animalsAndPetSupplies`&quot; - &quot;`dogCatFoodAndCatLitter`&quot; - &quot;`apparelAndAccessories`&quot; - &quot;`shoesHandbagsAndSunglasses`&quot; - &quot;`costumesAndAccessories`&quot; - &quot;`jewelry`&quot; - &quot;`watches`&quot; - &quot;`hobbiesArtsAndCrafts`&quot; - &quot;`homeAndGarden`&quot; - &quot;`entertainmentCollectibles`&quot; - &quot;`collectibleCoins`&quot; - &quot;`sportsCollectibles`&quot; - &quot;`sportingGoods`&quot; - &quot;`toysAndGames`&quot; - &quot;`musicalInstruments`&quot; - &quot;`giftCards`&quot; - &quot;`babyAndToddler`&quot; - &quot;`babyFoodWipesAndDiapers`&quot; - &quot;`businessAndIndustrial`&quot; - &quot;`camerasOpticsAndPhotography`&quot; - &quot;`consumerElectronics`&quot; - &quot;`electronicsAccessories`&quot; - &quot;`personalComputers`&quot; - &quot;`videoGameConsoles`&quot; - &quot;`foodAndGrocery`&quot; - &quot;`beverages`&quot; - &quot;`tobaccoProducts`&quot; - &quot;`furniture`&quot; - &quot;`hardware`&quot; - &quot;`buildingMaterials`&quot; - &quot;`tools`&quot; - &quot;`healthAndPersonalCare`&quot; - &quot;`beauty`&quot; - &quot;`householdSupplies`&quot; - &quot;`kitchenAndDining`&quot; - &quot;`majorAppliances`&quot; - &quot;`luggageAndBags`&quot; - &quot;`media`&quot; - &quot;`officeSupplies`&quot; - &quot;`softwareAndVideoGames`&quot; - &quot;`vehiclePartsAndAccessories`&quot; - &quot;`vehicleTiresAndWheels`&quot; - &quot;`vehicles`&quot; - &quot;`everythingElse`&quot;
           &quot;rate&quot;: &quot;A String&quot;, # Rate of the commission in percentage.
         },
-        &quot;description&quot;: &quot;A String&quot;, # The description of the event. Acceptable values are: - &quot;`taxWithhold`&quot; - &quot;`principal`&quot; - &quot;`principalAdjustment`&quot; - &quot;`shippingFee`&quot; - &quot;`merchantRemittedSalesTax`&quot; - &quot;`googleRemittedSalesTax`&quot; - &quot;`merchantCoupon`&quot; - &quot;`merchantCouponTax`&quot; - &quot;`merchantRemittedDisposalTax`&quot; - &quot;`googleRemittedDisposalTax`&quot; - &quot;`merchantRemittedRedemptionFee`&quot; - &quot;`googleRemittedRedemptionFee`&quot; - &quot;`eeeEcoFee`&quot; - &quot;`furnitureEcoFee`&quot; - &quot;`copyPrivateFee`&quot; - &quot;`eeeEcoFeeCommission`&quot; - &quot;`furnitureEcoFeeCommission`&quot; - &quot;`copyPrivateFeeCommission`&quot; - &quot;`principalRefund`&quot; - &quot;`principalRefundTax`&quot; - &quot;`itemCommission`&quot; - &quot;`adjustmentCommission`&quot; - &quot;`shippingFeeCommission`&quot; - &quot;`commissionRefund`&quot; - &quot;`damaged`&quot; - &quot;`damagedOrDefectiveItem`&quot; - &quot;`expiredItem`&quot; - &quot;`faultyItem`&quot; - &quot;`incorrectItemReceived`&quot; - &quot;`itemMissing`&quot; - &quot;`qualityNotExpected`&quot; - &quot;`receivedTooLate`&quot; - &quot;`storePackageMissing`&quot; - &quot;`transitPackageMissing`&quot; - &quot;`unsuccessfulDeliveryUndeliverable`&quot; - &quot;`wrongChargeInStore`&quot; - &quot;`wrongItem`&quot; - &quot;`returns`&quot; - &quot;`undeliverable`&quot; - &quot;`issueRelatedRefundAndReplacementAmountDescription`&quot; - &quot;`refundFromMerchant`&quot; - &quot;`returnLabelShippingFee`&quot; - &quot;`lumpSumCorrection`&quot; - &quot;`pspFee`&quot;
+        &quot;description&quot;: &quot;A String&quot;, # The description of the event. Acceptable values are: - &quot;`taxWithhold`&quot; - &quot;`principal`&quot; - &quot;`principalAdjustment`&quot; - &quot;`shippingFee`&quot; - &quot;`merchantRemittedSalesTax`&quot; - &quot;`googleRemittedSalesTax`&quot; - &quot;`merchantCoupon`&quot; - &quot;`merchantCouponTax`&quot; - &quot;`merchantRemittedDisposalTax`&quot; - &quot;`googleRemittedDisposalTax`&quot; - &quot;`merchantRemittedRedemptionFee`&quot; - &quot;`googleRemittedRedemptionFee`&quot; - &quot;`eeeEcoFee`&quot; - &quot;`furnitureEcoFee`&quot; - &quot;`copyPrivateFee`&quot; - &quot;`eeeEcoFeeCommission`&quot; - &quot;`furnitureEcoFeeCommission`&quot; - &quot;`copyPrivateFeeCommission`&quot; - &quot;`principalRefund`&quot; - &quot;`principalRefundTax`&quot; - &quot;`itemCommission`&quot; - &quot;`adjustmentCommission`&quot; - &quot;`shippingFeeCommission`&quot; - &quot;`commissionRefund`&quot; - &quot;`damaged`&quot; - &quot;`damagedOrDefectiveItem`&quot; - &quot;`expiredItem`&quot; - &quot;`faultyItem`&quot; - &quot;`incorrectItemReceived`&quot; - &quot;`itemMissing`&quot; - &quot;`qualityNotExpected`&quot; - &quot;`receivedTooLate`&quot; - &quot;`storePackageMissing`&quot; - &quot;`transitPackageMissing`&quot; - &quot;`unsuccessfulDeliveryUndeliverable`&quot; - &quot;`wrongChargeInStore`&quot; - &quot;`wrongItem`&quot; - &quot;`returns`&quot; - &quot;`undeliverable`&quot; - &quot;`issueRelatedRefundAndReplacementAmountDescription`&quot; - &quot;`refundFromMerchant`&quot; - &quot;`returnLabelShippingFee`&quot; - &quot;`lumpSumCorrection`&quot; - &quot;`pspFee`&quot; - &quot;`principalRefundDoesNotFit`&quot; - &quot;`principalRefundOrderedWrongItem`&quot; - &quot;`principalRefundQualityNotExpected`&quot; - &quot;`principalRefundBetterPriceFound`&quot; - &quot;`principalRefundNoLongerNeeded`&quot; - &quot;`principalRefundChangedMind`&quot; - &quot;`principalRefundReceivedTooLate`&quot; - &quot;`principalRefundIncorrectItemReceived`&quot; - &quot;`principalRefundDamagedOrDefectiveItem`&quot; - &quot;`principalRefundDidNotMatchDescription`&quot; - &quot;`principalRefundExpiredItem`&quot;
         &quot;transactionAmount&quot;: { # The amount that contributes to the line item price.
           &quot;currency&quot;: &quot;A String&quot;, # The currency of the price.
           &quot;value&quot;: &quot;A String&quot;, # The price represented as a number.
diff --git a/docs/dyn/datamigration_v1.projects.locations.connectionProfiles.html b/docs/dyn/datamigration_v1.projects.locations.connectionProfiles.html
index 31dfad5..55ceb5b 100644
--- a/docs/dyn/datamigration_v1.projects.locations.connectionProfiles.html
+++ b/docs/dyn/datamigration_v1.projects.locations.connectionProfiles.html
@@ -144,7 +144,7 @@
           },
         ],
         &quot;enableIpv4&quot;: True or False, # Whether the instance should be assigned an IPv4 address or not.
-        &quot;privateNetwork&quot;: &quot;A String&quot;, # The resource link for the VPC network from which the Cloud SQL instance is accessible for private IP. For example, `/projects/myProject/global/networks/default`. This setting can be updated, but it cannot be removed after it is set.
+        &quot;privateNetwork&quot;: &quot;A String&quot;, # The resource link for the VPC network from which the Cloud SQL instance is accessible for private IP. For example, `projects/myProject/global/networks/default`. This setting can be updated, but it cannot be removed after it is set.
         &quot;requireSsl&quot;: True or False, # Whether SSL connections over IP should be enforced or not.
       },
       &quot;rootPassword&quot;: &quot;A String&quot;, # Input only. Initial root password.
@@ -186,7 +186,7 @@
     },
     &quot;username&quot;: &quot;A String&quot;, # Required. The username that Database Migration Service will use to connect to the database. The value is encrypted when stored in Database Migration Service.
   },
-  &quot;name&quot;: &quot;A String&quot;, # The name of this connection profile resource in the form of projects/{project}/locations/{location}/instances/{instance}.
+  &quot;name&quot;: &quot;A String&quot;, # The name of this connection profile resource in the form of projects/{project}/locations/{location}/connectionProfiles/{instance}.
   &quot;postgresql&quot;: { # Specifies connection parameters required specifically for PostgreSQL databases. # A PostgreSQL database connection profile.
     &quot;cloudSqlId&quot;: &quot;A String&quot;, # If the source is a Cloud SQL database, use this field to provide the Cloud SQL instance ID of the source.
     &quot;host&quot;: &quot;A String&quot;, # Required. The IP or hostname of the source PostgreSQL database.
@@ -313,7 +313,7 @@
           },
         ],
         &quot;enableIpv4&quot;: True or False, # Whether the instance should be assigned an IPv4 address or not.
-        &quot;privateNetwork&quot;: &quot;A String&quot;, # The resource link for the VPC network from which the Cloud SQL instance is accessible for private IP. For example, `/projects/myProject/global/networks/default`. This setting can be updated, but it cannot be removed after it is set.
+        &quot;privateNetwork&quot;: &quot;A String&quot;, # The resource link for the VPC network from which the Cloud SQL instance is accessible for private IP. For example, `projects/myProject/global/networks/default`. This setting can be updated, but it cannot be removed after it is set.
         &quot;requireSsl&quot;: True or False, # Whether SSL connections over IP should be enforced or not.
       },
       &quot;rootPassword&quot;: &quot;A String&quot;, # Input only. Initial root password.
@@ -355,7 +355,7 @@
     },
     &quot;username&quot;: &quot;A String&quot;, # Required. The username that Database Migration Service will use to connect to the database. The value is encrypted when stored in Database Migration Service.
   },
-  &quot;name&quot;: &quot;A String&quot;, # The name of this connection profile resource in the form of projects/{project}/locations/{location}/instances/{instance}.
+  &quot;name&quot;: &quot;A String&quot;, # The name of this connection profile resource in the form of projects/{project}/locations/{location}/connectionProfiles/{instance}.
   &quot;postgresql&quot;: { # Specifies connection parameters required specifically for PostgreSQL databases. # A PostgreSQL database connection profile.
     &quot;cloudSqlId&quot;: &quot;A String&quot;, # If the source is a Cloud SQL database, use this field to provide the Cloud SQL instance ID of the source.
     &quot;host&quot;: &quot;A String&quot;, # Required. The IP or hostname of the source PostgreSQL database.
@@ -469,7 +469,7 @@
               },
             ],
             &quot;enableIpv4&quot;: True or False, # Whether the instance should be assigned an IPv4 address or not.
-            &quot;privateNetwork&quot;: &quot;A String&quot;, # The resource link for the VPC network from which the Cloud SQL instance is accessible for private IP. For example, `/projects/myProject/global/networks/default`. This setting can be updated, but it cannot be removed after it is set.
+            &quot;privateNetwork&quot;: &quot;A String&quot;, # The resource link for the VPC network from which the Cloud SQL instance is accessible for private IP. For example, `projects/myProject/global/networks/default`. This setting can be updated, but it cannot be removed after it is set.
             &quot;requireSsl&quot;: True or False, # Whether SSL connections over IP should be enforced or not.
           },
           &quot;rootPassword&quot;: &quot;A String&quot;, # Input only. Initial root password.
@@ -511,7 +511,7 @@
         },
         &quot;username&quot;: &quot;A String&quot;, # Required. The username that Database Migration Service will use to connect to the database. The value is encrypted when stored in Database Migration Service.
       },
-      &quot;name&quot;: &quot;A String&quot;, # The name of this connection profile resource in the form of projects/{project}/locations/{location}/instances/{instance}.
+      &quot;name&quot;: &quot;A String&quot;, # The name of this connection profile resource in the form of projects/{project}/locations/{location}/connectionProfiles/{instance}.
       &quot;postgresql&quot;: { # Specifies connection parameters required specifically for PostgreSQL databases. # A PostgreSQL database connection profile.
         &quot;cloudSqlId&quot;: &quot;A String&quot;, # If the source is a Cloud SQL database, use this field to provide the Cloud SQL instance ID of the source.
         &quot;host&quot;: &quot;A String&quot;, # Required. The IP or hostname of the source PostgreSQL database.
@@ -557,7 +557,7 @@
   <pre>Update the configuration of a single connection profile.
 
 Args:
-  name: string, The name of this connection profile resource in the form of projects/{project}/locations/{location}/instances/{instance}. (required)
+  name: string, The name of this connection profile resource in the form of projects/{project}/locations/{location}/connectionProfiles/{instance}. (required)
   body: object, The request body.
     The object takes the form of:
 
@@ -586,7 +586,7 @@
           },
         ],
         &quot;enableIpv4&quot;: True or False, # Whether the instance should be assigned an IPv4 address or not.
-        &quot;privateNetwork&quot;: &quot;A String&quot;, # The resource link for the VPC network from which the Cloud SQL instance is accessible for private IP. For example, `/projects/myProject/global/networks/default`. This setting can be updated, but it cannot be removed after it is set.
+        &quot;privateNetwork&quot;: &quot;A String&quot;, # The resource link for the VPC network from which the Cloud SQL instance is accessible for private IP. For example, `projects/myProject/global/networks/default`. This setting can be updated, but it cannot be removed after it is set.
         &quot;requireSsl&quot;: True or False, # Whether SSL connections over IP should be enforced or not.
       },
       &quot;rootPassword&quot;: &quot;A String&quot;, # Input only. Initial root password.
@@ -628,7 +628,7 @@
     },
     &quot;username&quot;: &quot;A String&quot;, # Required. The username that Database Migration Service will use to connect to the database. The value is encrypted when stored in Database Migration Service.
   },
-  &quot;name&quot;: &quot;A String&quot;, # The name of this connection profile resource in the form of projects/{project}/locations/{location}/instances/{instance}.
+  &quot;name&quot;: &quot;A String&quot;, # The name of this connection profile resource in the form of projects/{project}/locations/{location}/connectionProfiles/{instance}.
   &quot;postgresql&quot;: { # Specifies connection parameters required specifically for PostgreSQL databases. # A PostgreSQL database connection profile.
     &quot;cloudSqlId&quot;: &quot;A String&quot;, # If the source is a Cloud SQL database, use this field to provide the Cloud SQL instance ID of the source.
     &quot;host&quot;: &quot;A String&quot;, # Required. The IP or hostname of the source PostgreSQL database.
diff --git a/docs/dyn/datastore_v1.projects.html b/docs/dyn/datastore_v1.projects.html
index 96acf9c..4f71a3f 100644
--- a/docs/dyn/datastore_v1.projects.html
+++ b/docs/dyn/datastore_v1.projects.html
@@ -248,40 +248,7 @@
           ],
         },
         &quot;properties&quot;: { # The entity&#x27;s properties. The map&#x27;s keys are property names. A property name matching regex `__.*__` is reserved. A reserved property name is forbidden in certain documented contexts. The name must not contain more than 500 characters. The name cannot be `&quot;&quot;`.
-          &quot;a_key&quot;: { # A message that can hold any of the supported value types and associated metadata.
-            &quot;arrayValue&quot;: { # An array value. # An array value. Cannot contain another array value. A `Value` instance that sets field `array_value` must not set fields `meaning` or `exclude_from_indexes`.
-              &quot;values&quot;: [ # Values in the array. The order of values in an array is preserved as long as all values have identical settings for &#x27;exclude_from_indexes&#x27;.
-                # Object with schema name: Value
-              ],
-            },
-            &quot;blobValue&quot;: &quot;A String&quot;, # A blob value. May have at most 1,000,000 bytes. When `exclude_from_indexes` is false, may have at most 1500 bytes. In JSON requests, must be base64-encoded.
-            &quot;booleanValue&quot;: True or False, # A boolean value.
-            &quot;doubleValue&quot;: 3.14, # A double value.
-            &quot;entityValue&quot;: # Object with schema name: Entity # An entity value. - May have no key. - May have a key with an incomplete key path. - May have a reserved/read-only key.
-            &quot;excludeFromIndexes&quot;: True or False, # If the value should be excluded from all indexes including those defined explicitly.
-            &quot;geoPointValue&quot;: { # An object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this object must conform to the WGS84 standard. Values must be within normalized ranges. # A geo point value representing a point on the surface of Earth.
-              &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
-              &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
-            },
-            &quot;integerValue&quot;: &quot;A String&quot;, # An integer value.
-            &quot;keyValue&quot;: { # A unique identifier for an entity. If a key&#x27;s partition ID or any of its path kinds or names are reserved/read-only, the key is reserved/read-only. A reserved/read-only key is forbidden in certain documented contexts. # A key value.
-              &quot;partitionId&quot;: { # A partition ID identifies a grouping of entities. The grouping is always by project and namespace, however the namespace ID may be empty. A partition ID contains several dimensions: project ID and namespace ID. Partition dimensions: - May be `&quot;&quot;`. - Must be valid UTF-8 bytes. - Must have values that match regex `[A-Za-z\d\.\-_]{1,100}` If the value of any dimension matches regex `__.*__`, the partition is reserved/read-only. A reserved/read-only partition ID is forbidden in certain documented contexts. Foreign partition IDs (in which the project ID does not match the context project ID ) are discouraged. Reads and writes of foreign partition IDs may fail if the project is not in an active state. # Entities are partitioned into subsets, currently identified by a project ID and namespace ID. Queries are scoped to a single partition.
-                &quot;namespaceId&quot;: &quot;A String&quot;, # If not empty, the ID of the namespace to which the entities belong.
-                &quot;projectId&quot;: &quot;A String&quot;, # The ID of the project to which the entities belong.
-              },
-              &quot;path&quot;: [ # The entity path. An entity path consists of one or more elements composed of a kind and a string or numerical identifier, which identify entities. The first element identifies a _root entity_, the second element identifies a _child_ of the root entity, the third element identifies a child of the second entity, and so forth. The entities identified by all prefixes of the path are called the element&#x27;s _ancestors_. An entity path is always fully complete: *all* of the entity&#x27;s ancestors are required to be in the path along with the entity identifier itself. The only exception is that in some documented cases, the identifier in the last path element (for the entity) itself may be omitted. For example, the last path element of the key of `Mutation.insert` may have no identifier. A path can never be empty, and a path can have at most 100 elements.
-                { # A (kind, ID/name) pair used to construct a key path. If either name or ID is set, the element is complete. If neither is set, the element is incomplete.
-                  &quot;id&quot;: &quot;A String&quot;, # The auto-allocated ID of the entity. Never equal to zero. Values less than zero are discouraged and may not be supported in the future.
-                  &quot;kind&quot;: &quot;A String&quot;, # The kind of the entity. A kind matching regex `__.*__` is reserved/read-only. A kind must not contain more than 1500 bytes when UTF-8 encoded. Cannot be `&quot;&quot;`.
-                  &quot;name&quot;: &quot;A String&quot;, # The name of the entity. A name matching regex `__.*__` is reserved/read-only. A name must not be more than 1500 bytes when UTF-8 encoded. Cannot be `&quot;&quot;`.
-                },
-              ],
-            },
-            &quot;meaning&quot;: 42, # The `meaning` field should only be populated for backwards compatibility.
-            &quot;nullValue&quot;: &quot;A String&quot;, # A null value.
-            &quot;stringValue&quot;: &quot;A String&quot;, # A UTF-8 encoded string value. When `exclude_from_indexes` is false (it is indexed) , may have at most 1500 bytes. Otherwise, may be set to at most 1,000,000 bytes.
-            &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value. When stored in the Datastore, precise only to microseconds; any additional precision is rounded down.
-          },
+          &quot;a_key&quot;: # Object with schema name: Value
         },
       },
       &quot;update&quot;: { # A Datastore data object. An entity is limited to 1 megabyte when stored. That _roughly_ corresponds to a limit of 1 megabyte for the serialized form of this message. # The entity to update. The entity must already exist. Must have a complete key path.
@@ -299,40 +266,7 @@
           ],
         },
         &quot;properties&quot;: { # The entity&#x27;s properties. The map&#x27;s keys are property names. A property name matching regex `__.*__` is reserved. A reserved property name is forbidden in certain documented contexts. The name must not contain more than 500 characters. The name cannot be `&quot;&quot;`.
-          &quot;a_key&quot;: { # A message that can hold any of the supported value types and associated metadata.
-            &quot;arrayValue&quot;: { # An array value. # An array value. Cannot contain another array value. A `Value` instance that sets field `array_value` must not set fields `meaning` or `exclude_from_indexes`.
-              &quot;values&quot;: [ # Values in the array. The order of values in an array is preserved as long as all values have identical settings for &#x27;exclude_from_indexes&#x27;.
-                # Object with schema name: Value
-              ],
-            },
-            &quot;blobValue&quot;: &quot;A String&quot;, # A blob value. May have at most 1,000,000 bytes. When `exclude_from_indexes` is false, may have at most 1500 bytes. In JSON requests, must be base64-encoded.
-            &quot;booleanValue&quot;: True or False, # A boolean value.
-            &quot;doubleValue&quot;: 3.14, # A double value.
-            &quot;entityValue&quot;: # Object with schema name: Entity # An entity value. - May have no key. - May have a key with an incomplete key path. - May have a reserved/read-only key.
-            &quot;excludeFromIndexes&quot;: True or False, # If the value should be excluded from all indexes including those defined explicitly.
-            &quot;geoPointValue&quot;: { # An object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this object must conform to the WGS84 standard. Values must be within normalized ranges. # A geo point value representing a point on the surface of Earth.
-              &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
-              &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
-            },
-            &quot;integerValue&quot;: &quot;A String&quot;, # An integer value.
-            &quot;keyValue&quot;: { # A unique identifier for an entity. If a key&#x27;s partition ID or any of its path kinds or names are reserved/read-only, the key is reserved/read-only. A reserved/read-only key is forbidden in certain documented contexts. # A key value.
-              &quot;partitionId&quot;: { # A partition ID identifies a grouping of entities. The grouping is always by project and namespace, however the namespace ID may be empty. A partition ID contains several dimensions: project ID and namespace ID. Partition dimensions: - May be `&quot;&quot;`. - Must be valid UTF-8 bytes. - Must have values that match regex `[A-Za-z\d\.\-_]{1,100}` If the value of any dimension matches regex `__.*__`, the partition is reserved/read-only. A reserved/read-only partition ID is forbidden in certain documented contexts. Foreign partition IDs (in which the project ID does not match the context project ID ) are discouraged. Reads and writes of foreign partition IDs may fail if the project is not in an active state. # Entities are partitioned into subsets, currently identified by a project ID and namespace ID. Queries are scoped to a single partition.
-                &quot;namespaceId&quot;: &quot;A String&quot;, # If not empty, the ID of the namespace to which the entities belong.
-                &quot;projectId&quot;: &quot;A String&quot;, # The ID of the project to which the entities belong.
-              },
-              &quot;path&quot;: [ # The entity path. An entity path consists of one or more elements composed of a kind and a string or numerical identifier, which identify entities. The first element identifies a _root entity_, the second element identifies a _child_ of the root entity, the third element identifies a child of the second entity, and so forth. The entities identified by all prefixes of the path are called the element&#x27;s _ancestors_. An entity path is always fully complete: *all* of the entity&#x27;s ancestors are required to be in the path along with the entity identifier itself. The only exception is that in some documented cases, the identifier in the last path element (for the entity) itself may be omitted. For example, the last path element of the key of `Mutation.insert` may have no identifier. A path can never be empty, and a path can have at most 100 elements.
-                { # A (kind, ID/name) pair used to construct a key path. If either name or ID is set, the element is complete. If neither is set, the element is incomplete.
-                  &quot;id&quot;: &quot;A String&quot;, # The auto-allocated ID of the entity. Never equal to zero. Values less than zero are discouraged and may not be supported in the future.
-                  &quot;kind&quot;: &quot;A String&quot;, # The kind of the entity. A kind matching regex `__.*__` is reserved/read-only. A kind must not contain more than 1500 bytes when UTF-8 encoded. Cannot be `&quot;&quot;`.
-                  &quot;name&quot;: &quot;A String&quot;, # The name of the entity. A name matching regex `__.*__` is reserved/read-only. A name must not be more than 1500 bytes when UTF-8 encoded. Cannot be `&quot;&quot;`.
-                },
-              ],
-            },
-            &quot;meaning&quot;: 42, # The `meaning` field should only be populated for backwards compatibility.
-            &quot;nullValue&quot;: &quot;A String&quot;, # A null value.
-            &quot;stringValue&quot;: &quot;A String&quot;, # A UTF-8 encoded string value. When `exclude_from_indexes` is false (it is indexed) , may have at most 1500 bytes. Otherwise, may be set to at most 1,000,000 bytes.
-            &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value. When stored in the Datastore, precise only to microseconds; any additional precision is rounded down.
-          },
+          &quot;a_key&quot;: # Object with schema name: Value
         },
       },
       &quot;upsert&quot;: { # A Datastore data object. An entity is limited to 1 megabyte when stored. That _roughly_ corresponds to a limit of 1 megabyte for the serialized form of this message. # The entity to upsert. The entity may or may not already exist. The entity key&#x27;s final path element may be incomplete.
@@ -350,40 +284,7 @@
           ],
         },
         &quot;properties&quot;: { # The entity&#x27;s properties. The map&#x27;s keys are property names. A property name matching regex `__.*__` is reserved. A reserved property name is forbidden in certain documented contexts. The name must not contain more than 500 characters. The name cannot be `&quot;&quot;`.
-          &quot;a_key&quot;: { # A message that can hold any of the supported value types and associated metadata.
-            &quot;arrayValue&quot;: { # An array value. # An array value. Cannot contain another array value. A `Value` instance that sets field `array_value` must not set fields `meaning` or `exclude_from_indexes`.
-              &quot;values&quot;: [ # Values in the array. The order of values in an array is preserved as long as all values have identical settings for &#x27;exclude_from_indexes&#x27;.
-                # Object with schema name: Value
-              ],
-            },
-            &quot;blobValue&quot;: &quot;A String&quot;, # A blob value. May have at most 1,000,000 bytes. When `exclude_from_indexes` is false, may have at most 1500 bytes. In JSON requests, must be base64-encoded.
-            &quot;booleanValue&quot;: True or False, # A boolean value.
-            &quot;doubleValue&quot;: 3.14, # A double value.
-            &quot;entityValue&quot;: # Object with schema name: Entity # An entity value. - May have no key. - May have a key with an incomplete key path. - May have a reserved/read-only key.
-            &quot;excludeFromIndexes&quot;: True or False, # If the value should be excluded from all indexes including those defined explicitly.
-            &quot;geoPointValue&quot;: { # An object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this object must conform to the WGS84 standard. Values must be within normalized ranges. # A geo point value representing a point on the surface of Earth.
-              &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
-              &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
-            },
-            &quot;integerValue&quot;: &quot;A String&quot;, # An integer value.
-            &quot;keyValue&quot;: { # A unique identifier for an entity. If a key&#x27;s partition ID or any of its path kinds or names are reserved/read-only, the key is reserved/read-only. A reserved/read-only key is forbidden in certain documented contexts. # A key value.
-              &quot;partitionId&quot;: { # A partition ID identifies a grouping of entities. The grouping is always by project and namespace, however the namespace ID may be empty. A partition ID contains several dimensions: project ID and namespace ID. Partition dimensions: - May be `&quot;&quot;`. - Must be valid UTF-8 bytes. - Must have values that match regex `[A-Za-z\d\.\-_]{1,100}` If the value of any dimension matches regex `__.*__`, the partition is reserved/read-only. A reserved/read-only partition ID is forbidden in certain documented contexts. Foreign partition IDs (in which the project ID does not match the context project ID ) are discouraged. Reads and writes of foreign partition IDs may fail if the project is not in an active state. # Entities are partitioned into subsets, currently identified by a project ID and namespace ID. Queries are scoped to a single partition.
-                &quot;namespaceId&quot;: &quot;A String&quot;, # If not empty, the ID of the namespace to which the entities belong.
-                &quot;projectId&quot;: &quot;A String&quot;, # The ID of the project to which the entities belong.
-              },
-              &quot;path&quot;: [ # The entity path. An entity path consists of one or more elements composed of a kind and a string or numerical identifier, which identify entities. The first element identifies a _root entity_, the second element identifies a _child_ of the root entity, the third element identifies a child of the second entity, and so forth. The entities identified by all prefixes of the path are called the element&#x27;s _ancestors_. An entity path is always fully complete: *all* of the entity&#x27;s ancestors are required to be in the path along with the entity identifier itself. The only exception is that in some documented cases, the identifier in the last path element (for the entity) itself may be omitted. For example, the last path element of the key of `Mutation.insert` may have no identifier. A path can never be empty, and a path can have at most 100 elements.
-                { # A (kind, ID/name) pair used to construct a key path. If either name or ID is set, the element is complete. If neither is set, the element is incomplete.
-                  &quot;id&quot;: &quot;A String&quot;, # The auto-allocated ID of the entity. Never equal to zero. Values less than zero are discouraged and may not be supported in the future.
-                  &quot;kind&quot;: &quot;A String&quot;, # The kind of the entity. A kind matching regex `__.*__` is reserved/read-only. A kind must not contain more than 1500 bytes when UTF-8 encoded. Cannot be `&quot;&quot;`.
-                  &quot;name&quot;: &quot;A String&quot;, # The name of the entity. A name matching regex `__.*__` is reserved/read-only. A name must not be more than 1500 bytes when UTF-8 encoded. Cannot be `&quot;&quot;`.
-                },
-              ],
-            },
-            &quot;meaning&quot;: 42, # The `meaning` field should only be populated for backwards compatibility.
-            &quot;nullValue&quot;: &quot;A String&quot;, # A null value.
-            &quot;stringValue&quot;: &quot;A String&quot;, # A UTF-8 encoded string value. When `exclude_from_indexes` is false (it is indexed) , may have at most 1500 bytes. Otherwise, may be set to at most 1,000,000 bytes.
-            &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value. When stored in the Datastore, precise only to microseconds; any additional precision is rounded down.
-          },
+          &quot;a_key&quot;: # Object with schema name: Value
         },
       },
     },
@@ -602,40 +503,7 @@
           ],
         },
         &quot;properties&quot;: { # The entity&#x27;s properties. The map&#x27;s keys are property names. A property name matching regex `__.*__` is reserved. A reserved property name is forbidden in certain documented contexts. The name must not contain more than 500 characters. The name cannot be `&quot;&quot;`.
-          &quot;a_key&quot;: { # A message that can hold any of the supported value types and associated metadata.
-            &quot;arrayValue&quot;: { # An array value. # An array value. Cannot contain another array value. A `Value` instance that sets field `array_value` must not set fields `meaning` or `exclude_from_indexes`.
-              &quot;values&quot;: [ # Values in the array. The order of values in an array is preserved as long as all values have identical settings for &#x27;exclude_from_indexes&#x27;.
-                # Object with schema name: Value
-              ],
-            },
-            &quot;blobValue&quot;: &quot;A String&quot;, # A blob value. May have at most 1,000,000 bytes. When `exclude_from_indexes` is false, may have at most 1500 bytes. In JSON requests, must be base64-encoded.
-            &quot;booleanValue&quot;: True or False, # A boolean value.
-            &quot;doubleValue&quot;: 3.14, # A double value.
-            &quot;entityValue&quot;: # Object with schema name: Entity # An entity value. - May have no key. - May have a key with an incomplete key path. - May have a reserved/read-only key.
-            &quot;excludeFromIndexes&quot;: True or False, # If the value should be excluded from all indexes including those defined explicitly.
-            &quot;geoPointValue&quot;: { # An object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this object must conform to the WGS84 standard. Values must be within normalized ranges. # A geo point value representing a point on the surface of Earth.
-              &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
-              &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
-            },
-            &quot;integerValue&quot;: &quot;A String&quot;, # An integer value.
-            &quot;keyValue&quot;: { # A unique identifier for an entity. If a key&#x27;s partition ID or any of its path kinds or names are reserved/read-only, the key is reserved/read-only. A reserved/read-only key is forbidden in certain documented contexts. # A key value.
-              &quot;partitionId&quot;: { # A partition ID identifies a grouping of entities. The grouping is always by project and namespace, however the namespace ID may be empty. A partition ID contains several dimensions: project ID and namespace ID. Partition dimensions: - May be `&quot;&quot;`. - Must be valid UTF-8 bytes. - Must have values that match regex `[A-Za-z\d\.\-_]{1,100}` If the value of any dimension matches regex `__.*__`, the partition is reserved/read-only. A reserved/read-only partition ID is forbidden in certain documented contexts. Foreign partition IDs (in which the project ID does not match the context project ID ) are discouraged. Reads and writes of foreign partition IDs may fail if the project is not in an active state. # Entities are partitioned into subsets, currently identified by a project ID and namespace ID. Queries are scoped to a single partition.
-                &quot;namespaceId&quot;: &quot;A String&quot;, # If not empty, the ID of the namespace to which the entities belong.
-                &quot;projectId&quot;: &quot;A String&quot;, # The ID of the project to which the entities belong.
-              },
-              &quot;path&quot;: [ # The entity path. An entity path consists of one or more elements composed of a kind and a string or numerical identifier, which identify entities. The first element identifies a _root entity_, the second element identifies a _child_ of the root entity, the third element identifies a child of the second entity, and so forth. The entities identified by all prefixes of the path are called the element&#x27;s _ancestors_. An entity path is always fully complete: *all* of the entity&#x27;s ancestors are required to be in the path along with the entity identifier itself. The only exception is that in some documented cases, the identifier in the last path element (for the entity) itself may be omitted. For example, the last path element of the key of `Mutation.insert` may have no identifier. A path can never be empty, and a path can have at most 100 elements.
-                { # A (kind, ID/name) pair used to construct a key path. If either name or ID is set, the element is complete. If neither is set, the element is incomplete.
-                  &quot;id&quot;: &quot;A String&quot;, # The auto-allocated ID of the entity. Never equal to zero. Values less than zero are discouraged and may not be supported in the future.
-                  &quot;kind&quot;: &quot;A String&quot;, # The kind of the entity. A kind matching regex `__.*__` is reserved/read-only. A kind must not contain more than 1500 bytes when UTF-8 encoded. Cannot be `&quot;&quot;`.
-                  &quot;name&quot;: &quot;A String&quot;, # The name of the entity. A name matching regex `__.*__` is reserved/read-only. A name must not be more than 1500 bytes when UTF-8 encoded. Cannot be `&quot;&quot;`.
-                },
-              ],
-            },
-            &quot;meaning&quot;: 42, # The `meaning` field should only be populated for backwards compatibility.
-            &quot;nullValue&quot;: &quot;A String&quot;, # A null value.
-            &quot;stringValue&quot;: &quot;A String&quot;, # A UTF-8 encoded string value. When `exclude_from_indexes` is false (it is indexed) , may have at most 1500 bytes. Otherwise, may be set to at most 1,000,000 bytes.
-            &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value. When stored in the Datastore, precise only to microseconds; any additional precision is rounded down.
-          },
+          &quot;a_key&quot;: # Object with schema name: Value
         },
       },
       &quot;version&quot;: &quot;A String&quot;, # The version of the entity, a strictly positive number that monotonically increases with changes to the entity. This field is set for `FULL` entity results. For missing entities in `LookupResponse`, this is the version of the snapshot that was used to look up the entity, and it is always set except for eventually consistent reads.
@@ -659,40 +527,7 @@
           ],
         },
         &quot;properties&quot;: { # The entity&#x27;s properties. The map&#x27;s keys are property names. A property name matching regex `__.*__` is reserved. A reserved property name is forbidden in certain documented contexts. The name must not contain more than 500 characters. The name cannot be `&quot;&quot;`.
-          &quot;a_key&quot;: { # A message that can hold any of the supported value types and associated metadata.
-            &quot;arrayValue&quot;: { # An array value. # An array value. Cannot contain another array value. A `Value` instance that sets field `array_value` must not set fields `meaning` or `exclude_from_indexes`.
-              &quot;values&quot;: [ # Values in the array. The order of values in an array is preserved as long as all values have identical settings for &#x27;exclude_from_indexes&#x27;.
-                # Object with schema name: Value
-              ],
-            },
-            &quot;blobValue&quot;: &quot;A String&quot;, # A blob value. May have at most 1,000,000 bytes. When `exclude_from_indexes` is false, may have at most 1500 bytes. In JSON requests, must be base64-encoded.
-            &quot;booleanValue&quot;: True or False, # A boolean value.
-            &quot;doubleValue&quot;: 3.14, # A double value.
-            &quot;entityValue&quot;: # Object with schema name: Entity # An entity value. - May have no key. - May have a key with an incomplete key path. - May have a reserved/read-only key.
-            &quot;excludeFromIndexes&quot;: True or False, # If the value should be excluded from all indexes including those defined explicitly.
-            &quot;geoPointValue&quot;: { # An object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this object must conform to the WGS84 standard. Values must be within normalized ranges. # A geo point value representing a point on the surface of Earth.
-              &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
-              &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
-            },
-            &quot;integerValue&quot;: &quot;A String&quot;, # An integer value.
-            &quot;keyValue&quot;: { # A unique identifier for an entity. If a key&#x27;s partition ID or any of its path kinds or names are reserved/read-only, the key is reserved/read-only. A reserved/read-only key is forbidden in certain documented contexts. # A key value.
-              &quot;partitionId&quot;: { # A partition ID identifies a grouping of entities. The grouping is always by project and namespace, however the namespace ID may be empty. A partition ID contains several dimensions: project ID and namespace ID. Partition dimensions: - May be `&quot;&quot;`. - Must be valid UTF-8 bytes. - Must have values that match regex `[A-Za-z\d\.\-_]{1,100}` If the value of any dimension matches regex `__.*__`, the partition is reserved/read-only. A reserved/read-only partition ID is forbidden in certain documented contexts. Foreign partition IDs (in which the project ID does not match the context project ID ) are discouraged. Reads and writes of foreign partition IDs may fail if the project is not in an active state. # Entities are partitioned into subsets, currently identified by a project ID and namespace ID. Queries are scoped to a single partition.
-                &quot;namespaceId&quot;: &quot;A String&quot;, # If not empty, the ID of the namespace to which the entities belong.
-                &quot;projectId&quot;: &quot;A String&quot;, # The ID of the project to which the entities belong.
-              },
-              &quot;path&quot;: [ # The entity path. An entity path consists of one or more elements composed of a kind and a string or numerical identifier, which identify entities. The first element identifies a _root entity_, the second element identifies a _child_ of the root entity, the third element identifies a child of the second entity, and so forth. The entities identified by all prefixes of the path are called the element&#x27;s _ancestors_. An entity path is always fully complete: *all* of the entity&#x27;s ancestors are required to be in the path along with the entity identifier itself. The only exception is that in some documented cases, the identifier in the last path element (for the entity) itself may be omitted. For example, the last path element of the key of `Mutation.insert` may have no identifier. A path can never be empty, and a path can have at most 100 elements.
-                { # A (kind, ID/name) pair used to construct a key path. If either name or ID is set, the element is complete. If neither is set, the element is incomplete.
-                  &quot;id&quot;: &quot;A String&quot;, # The auto-allocated ID of the entity. Never equal to zero. Values less than zero are discouraged and may not be supported in the future.
-                  &quot;kind&quot;: &quot;A String&quot;, # The kind of the entity. A kind matching regex `__.*__` is reserved/read-only. A kind must not contain more than 1500 bytes when UTF-8 encoded. Cannot be `&quot;&quot;`.
-                  &quot;name&quot;: &quot;A String&quot;, # The name of the entity. A name matching regex `__.*__` is reserved/read-only. A name must not be more than 1500 bytes when UTF-8 encoded. Cannot be `&quot;&quot;`.
-                },
-              ],
-            },
-            &quot;meaning&quot;: 42, # The `meaning` field should only be populated for backwards compatibility.
-            &quot;nullValue&quot;: &quot;A String&quot;, # A null value.
-            &quot;stringValue&quot;: &quot;A String&quot;, # A UTF-8 encoded string value. When `exclude_from_indexes` is false (it is indexed) , may have at most 1500 bytes. Otherwise, may be set to at most 1,000,000 bytes.
-            &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value. When stored in the Datastore, precise only to microseconds; any additional precision is rounded down.
-          },
+          &quot;a_key&quot;: # Object with schema name: Value
         },
       },
       &quot;version&quot;: &quot;A String&quot;, # The version of the entity, a strictly positive number that monotonically increases with changes to the entity. This field is set for `FULL` entity results. For missing entities in `LookupResponse`, this is the version of the snapshot that was used to look up the entity, and it is always set except for eventually consistent reads.
@@ -790,7 +625,24 @@
           &quot;blobValue&quot;: &quot;A String&quot;, # A blob value. May have at most 1,000,000 bytes. When `exclude_from_indexes` is false, may have at most 1500 bytes. In JSON requests, must be base64-encoded.
           &quot;booleanValue&quot;: True or False, # A boolean value.
           &quot;doubleValue&quot;: 3.14, # A double value.
-          &quot;entityValue&quot;: # Object with schema name: Entity # An entity value. - May have no key. - May have a key with an incomplete key path. - May have a reserved/read-only key.
+          &quot;entityValue&quot;: { # A Datastore data object. An entity is limited to 1 megabyte when stored. That _roughly_ corresponds to a limit of 1 megabyte for the serialized form of this message. # An entity value. - May have no key. - May have a key with an incomplete key path. - May have a reserved/read-only key.
+            &quot;key&quot;: { # A unique identifier for an entity. If a key&#x27;s partition ID or any of its path kinds or names are reserved/read-only, the key is reserved/read-only. A reserved/read-only key is forbidden in certain documented contexts. # The entity&#x27;s key. An entity must have a key, unless otherwise documented (for example, an entity in `Value.entity_value` may have no key). An entity&#x27;s kind is its key path&#x27;s last element&#x27;s kind, or null if it has no key.
+              &quot;partitionId&quot;: { # A partition ID identifies a grouping of entities. The grouping is always by project and namespace, however the namespace ID may be empty. A partition ID contains several dimensions: project ID and namespace ID. Partition dimensions: - May be `&quot;&quot;`. - Must be valid UTF-8 bytes. - Must have values that match regex `[A-Za-z\d\.\-_]{1,100}` If the value of any dimension matches regex `__.*__`, the partition is reserved/read-only. A reserved/read-only partition ID is forbidden in certain documented contexts. Foreign partition IDs (in which the project ID does not match the context project ID ) are discouraged. Reads and writes of foreign partition IDs may fail if the project is not in an active state. # Entities are partitioned into subsets, currently identified by a project ID and namespace ID. Queries are scoped to a single partition.
+                &quot;namespaceId&quot;: &quot;A String&quot;, # If not empty, the ID of the namespace to which the entities belong.
+                &quot;projectId&quot;: &quot;A String&quot;, # The ID of the project to which the entities belong.
+              },
+              &quot;path&quot;: [ # The entity path. An entity path consists of one or more elements composed of a kind and a string or numerical identifier, which identify entities. The first element identifies a _root entity_, the second element identifies a _child_ of the root entity, the third element identifies a child of the second entity, and so forth. The entities identified by all prefixes of the path are called the element&#x27;s _ancestors_. An entity path is always fully complete: *all* of the entity&#x27;s ancestors are required to be in the path along with the entity identifier itself. The only exception is that in some documented cases, the identifier in the last path element (for the entity) itself may be omitted. For example, the last path element of the key of `Mutation.insert` may have no identifier. A path can never be empty, and a path can have at most 100 elements.
+                { # A (kind, ID/name) pair used to construct a key path. If either name or ID is set, the element is complete. If neither is set, the element is incomplete.
+                  &quot;id&quot;: &quot;A String&quot;, # The auto-allocated ID of the entity. Never equal to zero. Values less than zero are discouraged and may not be supported in the future.
+                  &quot;kind&quot;: &quot;A String&quot;, # The kind of the entity. A kind matching regex `__.*__` is reserved/read-only. A kind must not contain more than 1500 bytes when UTF-8 encoded. Cannot be `&quot;&quot;`.
+                  &quot;name&quot;: &quot;A String&quot;, # The name of the entity. A name matching regex `__.*__` is reserved/read-only. A name must not be more than 1500 bytes when UTF-8 encoded. Cannot be `&quot;&quot;`.
+                },
+              ],
+            },
+            &quot;properties&quot;: { # The entity&#x27;s properties. The map&#x27;s keys are property names. A property name matching regex `__.*__` is reserved. A reserved property name is forbidden in certain documented contexts. The name must not contain more than 500 characters. The name cannot be `&quot;&quot;`.
+              &quot;a_key&quot;: # Object with schema name: Value
+            },
+          },
           &quot;excludeFromIndexes&quot;: True or False, # If the value should be excluded from all indexes including those defined explicitly.
           &quot;geoPointValue&quot;: { # An object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this 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].
@@ -829,7 +681,24 @@
           &quot;blobValue&quot;: &quot;A String&quot;, # A blob value. May have at most 1,000,000 bytes. When `exclude_from_indexes` is false, may have at most 1500 bytes. In JSON requests, must be base64-encoded.
           &quot;booleanValue&quot;: True or False, # A boolean value.
           &quot;doubleValue&quot;: 3.14, # A double value.
-          &quot;entityValue&quot;: # Object with schema name: Entity # An entity value. - May have no key. - May have a key with an incomplete key path. - May have a reserved/read-only key.
+          &quot;entityValue&quot;: { # A Datastore data object. An entity is limited to 1 megabyte when stored. That _roughly_ corresponds to a limit of 1 megabyte for the serialized form of this message. # An entity value. - May have no key. - May have a key with an incomplete key path. - May have a reserved/read-only key.
+            &quot;key&quot;: { # A unique identifier for an entity. If a key&#x27;s partition ID or any of its path kinds or names are reserved/read-only, the key is reserved/read-only. A reserved/read-only key is forbidden in certain documented contexts. # The entity&#x27;s key. An entity must have a key, unless otherwise documented (for example, an entity in `Value.entity_value` may have no key). An entity&#x27;s kind is its key path&#x27;s last element&#x27;s kind, or null if it has no key.
+              &quot;partitionId&quot;: { # A partition ID identifies a grouping of entities. The grouping is always by project and namespace, however the namespace ID may be empty. A partition ID contains several dimensions: project ID and namespace ID. Partition dimensions: - May be `&quot;&quot;`. - Must be valid UTF-8 bytes. - Must have values that match regex `[A-Za-z\d\.\-_]{1,100}` If the value of any dimension matches regex `__.*__`, the partition is reserved/read-only. A reserved/read-only partition ID is forbidden in certain documented contexts. Foreign partition IDs (in which the project ID does not match the context project ID ) are discouraged. Reads and writes of foreign partition IDs may fail if the project is not in an active state. # Entities are partitioned into subsets, currently identified by a project ID and namespace ID. Queries are scoped to a single partition.
+                &quot;namespaceId&quot;: &quot;A String&quot;, # If not empty, the ID of the namespace to which the entities belong.
+                &quot;projectId&quot;: &quot;A String&quot;, # The ID of the project to which the entities belong.
+              },
+              &quot;path&quot;: [ # The entity path. An entity path consists of one or more elements composed of a kind and a string or numerical identifier, which identify entities. The first element identifies a _root entity_, the second element identifies a _child_ of the root entity, the third element identifies a child of the second entity, and so forth. The entities identified by all prefixes of the path are called the element&#x27;s _ancestors_. An entity path is always fully complete: *all* of the entity&#x27;s ancestors are required to be in the path along with the entity identifier itself. The only exception is that in some documented cases, the identifier in the last path element (for the entity) itself may be omitted. For example, the last path element of the key of `Mutation.insert` may have no identifier. A path can never be empty, and a path can have at most 100 elements.
+                { # A (kind, ID/name) pair used to construct a key path. If either name or ID is set, the element is complete. If neither is set, the element is incomplete.
+                  &quot;id&quot;: &quot;A String&quot;, # The auto-allocated ID of the entity. Never equal to zero. Values less than zero are discouraged and may not be supported in the future.
+                  &quot;kind&quot;: &quot;A String&quot;, # The kind of the entity. A kind matching regex `__.*__` is reserved/read-only. A kind must not contain more than 1500 bytes when UTF-8 encoded. Cannot be `&quot;&quot;`.
+                  &quot;name&quot;: &quot;A String&quot;, # The name of the entity. A name matching regex `__.*__` is reserved/read-only. A name must not be more than 1500 bytes when UTF-8 encoded. Cannot be `&quot;&quot;`.
+                },
+              ],
+            },
+            &quot;properties&quot;: { # The entity&#x27;s properties. The map&#x27;s keys are property names. A property name matching regex `__.*__` is reserved. A reserved property name is forbidden in certain documented contexts. The name must not contain more than 500 characters. The name cannot be `&quot;&quot;`.
+              &quot;a_key&quot;: # Object with schema name: Value
+            },
+          },
           &quot;excludeFromIndexes&quot;: True or False, # If the value should be excluded from all indexes including those defined explicitly.
           &quot;geoPointValue&quot;: { # An object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this 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].
@@ -890,7 +759,24 @@
           &quot;blobValue&quot;: &quot;A String&quot;, # A blob value. May have at most 1,000,000 bytes. When `exclude_from_indexes` is false, may have at most 1500 bytes. In JSON requests, must be base64-encoded.
           &quot;booleanValue&quot;: True or False, # A boolean value.
           &quot;doubleValue&quot;: 3.14, # A double value.
-          &quot;entityValue&quot;: # Object with schema name: Entity # An entity value. - May have no key. - May have a key with an incomplete key path. - May have a reserved/read-only key.
+          &quot;entityValue&quot;: { # A Datastore data object. An entity is limited to 1 megabyte when stored. That _roughly_ corresponds to a limit of 1 megabyte for the serialized form of this message. # An entity value. - May have no key. - May have a key with an incomplete key path. - May have a reserved/read-only key.
+            &quot;key&quot;: { # A unique identifier for an entity. If a key&#x27;s partition ID or any of its path kinds or names are reserved/read-only, the key is reserved/read-only. A reserved/read-only key is forbidden in certain documented contexts. # The entity&#x27;s key. An entity must have a key, unless otherwise documented (for example, an entity in `Value.entity_value` may have no key). An entity&#x27;s kind is its key path&#x27;s last element&#x27;s kind, or null if it has no key.
+              &quot;partitionId&quot;: { # A partition ID identifies a grouping of entities. The grouping is always by project and namespace, however the namespace ID may be empty. A partition ID contains several dimensions: project ID and namespace ID. Partition dimensions: - May be `&quot;&quot;`. - Must be valid UTF-8 bytes. - Must have values that match regex `[A-Za-z\d\.\-_]{1,100}` If the value of any dimension matches regex `__.*__`, the partition is reserved/read-only. A reserved/read-only partition ID is forbidden in certain documented contexts. Foreign partition IDs (in which the project ID does not match the context project ID ) are discouraged. Reads and writes of foreign partition IDs may fail if the project is not in an active state. # Entities are partitioned into subsets, currently identified by a project ID and namespace ID. Queries are scoped to a single partition.
+                &quot;namespaceId&quot;: &quot;A String&quot;, # If not empty, the ID of the namespace to which the entities belong.
+                &quot;projectId&quot;: &quot;A String&quot;, # The ID of the project to which the entities belong.
+              },
+              &quot;path&quot;: [ # The entity path. An entity path consists of one or more elements composed of a kind and a string or numerical identifier, which identify entities. The first element identifies a _root entity_, the second element identifies a _child_ of the root entity, the third element identifies a child of the second entity, and so forth. The entities identified by all prefixes of the path are called the element&#x27;s _ancestors_. An entity path is always fully complete: *all* of the entity&#x27;s ancestors are required to be in the path along with the entity identifier itself. The only exception is that in some documented cases, the identifier in the last path element (for the entity) itself may be omitted. For example, the last path element of the key of `Mutation.insert` may have no identifier. A path can never be empty, and a path can have at most 100 elements.
+                { # A (kind, ID/name) pair used to construct a key path. If either name or ID is set, the element is complete. If neither is set, the element is incomplete.
+                  &quot;id&quot;: &quot;A String&quot;, # The auto-allocated ID of the entity. Never equal to zero. Values less than zero are discouraged and may not be supported in the future.
+                  &quot;kind&quot;: &quot;A String&quot;, # The kind of the entity. A kind matching regex `__.*__` is reserved/read-only. A kind must not contain more than 1500 bytes when UTF-8 encoded. Cannot be `&quot;&quot;`.
+                  &quot;name&quot;: &quot;A String&quot;, # The name of the entity. A name matching regex `__.*__` is reserved/read-only. A name must not be more than 1500 bytes when UTF-8 encoded. Cannot be `&quot;&quot;`.
+                },
+              ],
+            },
+            &quot;properties&quot;: { # The entity&#x27;s properties. The map&#x27;s keys are property names. A property name matching regex `__.*__` is reserved. A reserved property name is forbidden in certain documented contexts. The name must not contain more than 500 characters. The name cannot be `&quot;&quot;`.
+              &quot;a_key&quot;: # Object with schema name: Value
+            },
+          },
           &quot;excludeFromIndexes&quot;: True or False, # If the value should be excluded from all indexes including those defined explicitly.
           &quot;geoPointValue&quot;: { # An object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this 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].
@@ -977,40 +863,7 @@
             ],
           },
           &quot;properties&quot;: { # The entity&#x27;s properties. The map&#x27;s keys are property names. A property name matching regex `__.*__` is reserved. A reserved property name is forbidden in certain documented contexts. The name must not contain more than 500 characters. The name cannot be `&quot;&quot;`.
-            &quot;a_key&quot;: { # A message that can hold any of the supported value types and associated metadata.
-              &quot;arrayValue&quot;: { # An array value. # An array value. Cannot contain another array value. A `Value` instance that sets field `array_value` must not set fields `meaning` or `exclude_from_indexes`.
-                &quot;values&quot;: [ # Values in the array. The order of values in an array is preserved as long as all values have identical settings for &#x27;exclude_from_indexes&#x27;.
-                  # Object with schema name: Value
-                ],
-              },
-              &quot;blobValue&quot;: &quot;A String&quot;, # A blob value. May have at most 1,000,000 bytes. When `exclude_from_indexes` is false, may have at most 1500 bytes. In JSON requests, must be base64-encoded.
-              &quot;booleanValue&quot;: True or False, # A boolean value.
-              &quot;doubleValue&quot;: 3.14, # A double value.
-              &quot;entityValue&quot;: # Object with schema name: Entity # An entity value. - May have no key. - May have a key with an incomplete key path. - May have a reserved/read-only key.
-              &quot;excludeFromIndexes&quot;: True or False, # If the value should be excluded from all indexes including those defined explicitly.
-              &quot;geoPointValue&quot;: { # An object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this object must conform to the WGS84 standard. Values must be within normalized ranges. # A geo point value representing a point on the surface of Earth.
-                &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
-                &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
-              },
-              &quot;integerValue&quot;: &quot;A String&quot;, # An integer value.
-              &quot;keyValue&quot;: { # A unique identifier for an entity. If a key&#x27;s partition ID or any of its path kinds or names are reserved/read-only, the key is reserved/read-only. A reserved/read-only key is forbidden in certain documented contexts. # A key value.
-                &quot;partitionId&quot;: { # A partition ID identifies a grouping of entities. The grouping is always by project and namespace, however the namespace ID may be empty. A partition ID contains several dimensions: project ID and namespace ID. Partition dimensions: - May be `&quot;&quot;`. - Must be valid UTF-8 bytes. - Must have values that match regex `[A-Za-z\d\.\-_]{1,100}` If the value of any dimension matches regex `__.*__`, the partition is reserved/read-only. A reserved/read-only partition ID is forbidden in certain documented contexts. Foreign partition IDs (in which the project ID does not match the context project ID ) are discouraged. Reads and writes of foreign partition IDs may fail if the project is not in an active state. # Entities are partitioned into subsets, currently identified by a project ID and namespace ID. Queries are scoped to a single partition.
-                  &quot;namespaceId&quot;: &quot;A String&quot;, # If not empty, the ID of the namespace to which the entities belong.
-                  &quot;projectId&quot;: &quot;A String&quot;, # The ID of the project to which the entities belong.
-                },
-                &quot;path&quot;: [ # The entity path. An entity path consists of one or more elements composed of a kind and a string or numerical identifier, which identify entities. The first element identifies a _root entity_, the second element identifies a _child_ of the root entity, the third element identifies a child of the second entity, and so forth. The entities identified by all prefixes of the path are called the element&#x27;s _ancestors_. An entity path is always fully complete: *all* of the entity&#x27;s ancestors are required to be in the path along with the entity identifier itself. The only exception is that in some documented cases, the identifier in the last path element (for the entity) itself may be omitted. For example, the last path element of the key of `Mutation.insert` may have no identifier. A path can never be empty, and a path can have at most 100 elements.
-                  { # A (kind, ID/name) pair used to construct a key path. If either name or ID is set, the element is complete. If neither is set, the element is incomplete.
-                    &quot;id&quot;: &quot;A String&quot;, # The auto-allocated ID of the entity. Never equal to zero. Values less than zero are discouraged and may not be supported in the future.
-                    &quot;kind&quot;: &quot;A String&quot;, # The kind of the entity. A kind matching regex `__.*__` is reserved/read-only. A kind must not contain more than 1500 bytes when UTF-8 encoded. Cannot be `&quot;&quot;`.
-                    &quot;name&quot;: &quot;A String&quot;, # The name of the entity. A name matching regex `__.*__` is reserved/read-only. A name must not be more than 1500 bytes when UTF-8 encoded. Cannot be `&quot;&quot;`.
-                  },
-                ],
-              },
-              &quot;meaning&quot;: 42, # The `meaning` field should only be populated for backwards compatibility.
-              &quot;nullValue&quot;: &quot;A String&quot;, # A null value.
-              &quot;stringValue&quot;: &quot;A String&quot;, # A UTF-8 encoded string value. When `exclude_from_indexes` is false (it is indexed) , may have at most 1500 bytes. Otherwise, may be set to at most 1,000,000 bytes.
-              &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value. When stored in the Datastore, precise only to microseconds; any additional precision is rounded down.
-            },
+            &quot;a_key&quot;: # Object with schema name: Value
           },
         },
         &quot;version&quot;: &quot;A String&quot;, # The version of the entity, a strictly positive number that monotonically increases with changes to the entity. This field is set for `FULL` entity results. For missing entities in `LookupResponse`, this is the version of the snapshot that was used to look up the entity, and it is always set except for eventually consistent reads.
@@ -1049,7 +902,24 @@
           &quot;blobValue&quot;: &quot;A String&quot;, # A blob value. May have at most 1,000,000 bytes. When `exclude_from_indexes` is false, may have at most 1500 bytes. In JSON requests, must be base64-encoded.
           &quot;booleanValue&quot;: True or False, # A boolean value.
           &quot;doubleValue&quot;: 3.14, # A double value.
-          &quot;entityValue&quot;: # Object with schema name: Entity # An entity value. - May have no key. - May have a key with an incomplete key path. - May have a reserved/read-only key.
+          &quot;entityValue&quot;: { # A Datastore data object. An entity is limited to 1 megabyte when stored. That _roughly_ corresponds to a limit of 1 megabyte for the serialized form of this message. # An entity value. - May have no key. - May have a key with an incomplete key path. - May have a reserved/read-only key.
+            &quot;key&quot;: { # A unique identifier for an entity. If a key&#x27;s partition ID or any of its path kinds or names are reserved/read-only, the key is reserved/read-only. A reserved/read-only key is forbidden in certain documented contexts. # The entity&#x27;s key. An entity must have a key, unless otherwise documented (for example, an entity in `Value.entity_value` may have no key). An entity&#x27;s kind is its key path&#x27;s last element&#x27;s kind, or null if it has no key.
+              &quot;partitionId&quot;: { # A partition ID identifies a grouping of entities. The grouping is always by project and namespace, however the namespace ID may be empty. A partition ID contains several dimensions: project ID and namespace ID. Partition dimensions: - May be `&quot;&quot;`. - Must be valid UTF-8 bytes. - Must have values that match regex `[A-Za-z\d\.\-_]{1,100}` If the value of any dimension matches regex `__.*__`, the partition is reserved/read-only. A reserved/read-only partition ID is forbidden in certain documented contexts. Foreign partition IDs (in which the project ID does not match the context project ID ) are discouraged. Reads and writes of foreign partition IDs may fail if the project is not in an active state. # Entities are partitioned into subsets, currently identified by a project ID and namespace ID. Queries are scoped to a single partition.
+                &quot;namespaceId&quot;: &quot;A String&quot;, # If not empty, the ID of the namespace to which the entities belong.
+                &quot;projectId&quot;: &quot;A String&quot;, # The ID of the project to which the entities belong.
+              },
+              &quot;path&quot;: [ # The entity path. An entity path consists of one or more elements composed of a kind and a string or numerical identifier, which identify entities. The first element identifies a _root entity_, the second element identifies a _child_ of the root entity, the third element identifies a child of the second entity, and so forth. The entities identified by all prefixes of the path are called the element&#x27;s _ancestors_. An entity path is always fully complete: *all* of the entity&#x27;s ancestors are required to be in the path along with the entity identifier itself. The only exception is that in some documented cases, the identifier in the last path element (for the entity) itself may be omitted. For example, the last path element of the key of `Mutation.insert` may have no identifier. A path can never be empty, and a path can have at most 100 elements.
+                { # A (kind, ID/name) pair used to construct a key path. If either name or ID is set, the element is complete. If neither is set, the element is incomplete.
+                  &quot;id&quot;: &quot;A String&quot;, # The auto-allocated ID of the entity. Never equal to zero. Values less than zero are discouraged and may not be supported in the future.
+                  &quot;kind&quot;: &quot;A String&quot;, # The kind of the entity. A kind matching regex `__.*__` is reserved/read-only. A kind must not contain more than 1500 bytes when UTF-8 encoded. Cannot be `&quot;&quot;`.
+                  &quot;name&quot;: &quot;A String&quot;, # The name of the entity. A name matching regex `__.*__` is reserved/read-only. A name must not be more than 1500 bytes when UTF-8 encoded. Cannot be `&quot;&quot;`.
+                },
+              ],
+            },
+            &quot;properties&quot;: { # The entity&#x27;s properties. The map&#x27;s keys are property names. A property name matching regex `__.*__` is reserved. A reserved property name is forbidden in certain documented contexts. The name must not contain more than 500 characters. The name cannot be `&quot;&quot;`.
+              &quot;a_key&quot;: # Object with schema name: Value
+            },
+          },
           &quot;excludeFromIndexes&quot;: True or False, # If the value should be excluded from all indexes including those defined explicitly.
           &quot;geoPointValue&quot;: { # An object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this object must conform to the WGS84 standard. Values must be within normalized ranges. # A geo point value representing a point on the surface of Earth.
             &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
diff --git a/docs/dyn/datastore_v1beta3.projects.html b/docs/dyn/datastore_v1beta3.projects.html
index 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_v2beta1.projects.knowledgeBases.documents.html b/docs/dyn/dialogflow_v2beta1.projects.knowledgeBases.documents.html
index 75f0835..26f435e 100644
--- a/docs/dyn/dialogflow_v2beta1.projects.knowledgeBases.documents.html
+++ b/docs/dyn/dialogflow_v2beta1.projects.knowledgeBases.documents.html
@@ -88,7 +88,7 @@
 <p class="firstline">Retrieves the specified document. Note: The `projects.agent.knowledgeBases.documents` resource is deprecated; only use `projects.knowledgeBases.documents`.</p>
 <p class="toc_element">
   <code><a href="#import_">import_(parent, body=None, x__xgafv=None)</a></code></p>
-<p class="firstline">Create documents by importing data from external sources.</p>
+<p class="firstline">Create documents by importing data from external sources. Dialogflow supports up to 350 documents in each request. If you try to import more, Dialogflow will return an error.</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">Returns the list of all documents of the knowledge base. Note: The `projects.agent.knowledgeBases.documents` resource is deprecated; only use `projects.knowledgeBases.documents`.</p>
@@ -254,7 +254,7 @@
 
 <div class="method">
     <code class="details" id="import_">import_(parent, body=None, x__xgafv=None)</code>
-  <pre>Create documents by importing data from external sources.
+  <pre>Create documents by importing data from external sources. Dialogflow supports up to 350 documents in each request. If you try to import more, Dialogflow will return an error.
 
 Args:
   parent: string, Required. The knowledge base to import documents into. Format: `projects//locations//knowledgeBases/`. (required)
diff --git a/docs/dyn/dialogflow_v2beta1.projects.locations.knowledgeBases.documents.html b/docs/dyn/dialogflow_v2beta1.projects.locations.knowledgeBases.documents.html
index f7d52c4..a10edb9 100644
--- a/docs/dyn/dialogflow_v2beta1.projects.locations.knowledgeBases.documents.html
+++ b/docs/dyn/dialogflow_v2beta1.projects.locations.knowledgeBases.documents.html
@@ -88,7 +88,7 @@
 <p class="firstline">Retrieves the specified document. Note: The `projects.agent.knowledgeBases.documents` resource is deprecated; only use `projects.knowledgeBases.documents`.</p>
 <p class="toc_element">
   <code><a href="#import_">import_(parent, body=None, x__xgafv=None)</a></code></p>
-<p class="firstline">Create documents by importing data from external sources.</p>
+<p class="firstline">Create documents by importing data from external sources. Dialogflow supports up to 350 documents in each request. If you try to import more, Dialogflow will return an error.</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">Returns the list of all documents of the knowledge base. Note: The `projects.agent.knowledgeBases.documents` resource is deprecated; only use `projects.knowledgeBases.documents`.</p>
@@ -254,7 +254,7 @@
 
 <div class="method">
     <code class="details" id="import_">import_(parent, body=None, x__xgafv=None)</code>
-  <pre>Create documents by importing data from external sources.
+  <pre>Create documents by importing data from external sources. Dialogflow supports up to 350 documents in each request. If you try to import more, Dialogflow will return an error.
 
 Args:
   parent: string, Required. The knowledge base to import documents into. Format: `projects//locations//knowledgeBases/`. (required)
diff --git a/docs/dyn/dialogflow_v3.projects.locations.agents.webhooks.html b/docs/dyn/dialogflow_v3.projects.locations.agents.webhooks.html
index fbad018..8221bb5 100644
--- a/docs/dyn/dialogflow_v3.projects.locations.agents.webhooks.html
+++ b/docs/dyn/dialogflow_v3.projects.locations.agents.webhooks.html
@@ -122,6 +122,17 @@
     &quot;username&quot;: &quot;A String&quot;, # The user name for HTTP Basic authentication.
   },
   &quot;name&quot;: &quot;A String&quot;, # The unique identifier of the webhook. Required for the Webhooks.UpdateWebhook method. Webhooks.CreateWebhook populates the name automatically. Format: `projects//locations//agents//webhooks/`.
+  &quot;serviceDirectory&quot;: { # Represents configuration for a [Service Directory](https://cloud.google.com/service-directory) service. # Configuration for a [Service Directory](https://cloud.google.com/service-directory) service.
+    &quot;genericWebService&quot;: { # Represents configuration for a generic web service. # Generic Service configuration of this webhook.
+      &quot;password&quot;: &quot;A String&quot;, # The password for HTTP Basic authentication.
+      &quot;requestHeaders&quot;: { # The HTTP request headers to send together with webhook requests.
+        &quot;a_key&quot;: &quot;A String&quot;,
+      },
+      &quot;uri&quot;: &quot;A String&quot;, # Required. The webhook URI for receiving POST requests. It must use https protocol.
+      &quot;username&quot;: &quot;A String&quot;, # The user name for HTTP Basic authentication.
+    },
+    &quot;service&quot;: &quot;A String&quot;, # Required. The name of [Service Directory](https://cloud.google.com/service-directory) service. Format: `projects//locations//namespaces//services/`. `Location ID` of the service directory must be the same as the location of the agent.
+  },
   &quot;timeout&quot;: &quot;A String&quot;, # Webhook execution timeout. Execution is considered failed if Dialogflow doesn&#x27;t receive a response from webhook at the end of the timeout period. Defaults to 5 seconds, maximum allowed timeout is 30 seconds.
 }
 
@@ -145,6 +156,17 @@
     &quot;username&quot;: &quot;A String&quot;, # The user name for HTTP Basic authentication.
   },
   &quot;name&quot;: &quot;A String&quot;, # The unique identifier of the webhook. Required for the Webhooks.UpdateWebhook method. Webhooks.CreateWebhook populates the name automatically. Format: `projects//locations//agents//webhooks/`.
+  &quot;serviceDirectory&quot;: { # Represents configuration for a [Service Directory](https://cloud.google.com/service-directory) service. # Configuration for a [Service Directory](https://cloud.google.com/service-directory) service.
+    &quot;genericWebService&quot;: { # Represents configuration for a generic web service. # Generic Service configuration of this webhook.
+      &quot;password&quot;: &quot;A String&quot;, # The password for HTTP Basic authentication.
+      &quot;requestHeaders&quot;: { # The HTTP request headers to send together with webhook requests.
+        &quot;a_key&quot;: &quot;A String&quot;,
+      },
+      &quot;uri&quot;: &quot;A String&quot;, # Required. The webhook URI for receiving POST requests. It must use https protocol.
+      &quot;username&quot;: &quot;A String&quot;, # The user name for HTTP Basic authentication.
+    },
+    &quot;service&quot;: &quot;A String&quot;, # Required. The name of [Service Directory](https://cloud.google.com/service-directory) service. Format: `projects//locations//namespaces//services/`. `Location ID` of the service directory must be the same as the location of the agent.
+  },
   &quot;timeout&quot;: &quot;A String&quot;, # Webhook execution timeout. Execution is considered failed if Dialogflow doesn&#x27;t receive a response from webhook at the end of the timeout period. Defaults to 5 seconds, maximum allowed timeout is 30 seconds.
 }</pre>
 </div>
@@ -194,6 +216,17 @@
     &quot;username&quot;: &quot;A String&quot;, # The user name for HTTP Basic authentication.
   },
   &quot;name&quot;: &quot;A String&quot;, # The unique identifier of the webhook. Required for the Webhooks.UpdateWebhook method. Webhooks.CreateWebhook populates the name automatically. Format: `projects//locations//agents//webhooks/`.
+  &quot;serviceDirectory&quot;: { # Represents configuration for a [Service Directory](https://cloud.google.com/service-directory) service. # Configuration for a [Service Directory](https://cloud.google.com/service-directory) service.
+    &quot;genericWebService&quot;: { # Represents configuration for a generic web service. # Generic Service configuration of this webhook.
+      &quot;password&quot;: &quot;A String&quot;, # The password for HTTP Basic authentication.
+      &quot;requestHeaders&quot;: { # The HTTP request headers to send together with webhook requests.
+        &quot;a_key&quot;: &quot;A String&quot;,
+      },
+      &quot;uri&quot;: &quot;A String&quot;, # Required. The webhook URI for receiving POST requests. It must use https protocol.
+      &quot;username&quot;: &quot;A String&quot;, # The user name for HTTP Basic authentication.
+    },
+    &quot;service&quot;: &quot;A String&quot;, # Required. The name of [Service Directory](https://cloud.google.com/service-directory) service. Format: `projects//locations//namespaces//services/`. `Location ID` of the service directory must be the same as the location of the agent.
+  },
   &quot;timeout&quot;: &quot;A String&quot;, # Webhook execution timeout. Execution is considered failed if Dialogflow doesn&#x27;t receive a response from webhook at the end of the timeout period. Defaults to 5 seconds, maximum allowed timeout is 30 seconds.
 }</pre>
 </div>
@@ -229,6 +262,17 @@
         &quot;username&quot;: &quot;A String&quot;, # The user name for HTTP Basic authentication.
       },
       &quot;name&quot;: &quot;A String&quot;, # The unique identifier of the webhook. Required for the Webhooks.UpdateWebhook method. Webhooks.CreateWebhook populates the name automatically. Format: `projects//locations//agents//webhooks/`.
+      &quot;serviceDirectory&quot;: { # Represents configuration for a [Service Directory](https://cloud.google.com/service-directory) service. # Configuration for a [Service Directory](https://cloud.google.com/service-directory) service.
+        &quot;genericWebService&quot;: { # Represents configuration for a generic web service. # Generic Service configuration of this webhook.
+          &quot;password&quot;: &quot;A String&quot;, # The password for HTTP Basic authentication.
+          &quot;requestHeaders&quot;: { # The HTTP request headers to send together with webhook requests.
+            &quot;a_key&quot;: &quot;A String&quot;,
+          },
+          &quot;uri&quot;: &quot;A String&quot;, # Required. The webhook URI for receiving POST requests. It must use https protocol.
+          &quot;username&quot;: &quot;A String&quot;, # The user name for HTTP Basic authentication.
+        },
+        &quot;service&quot;: &quot;A String&quot;, # Required. The name of [Service Directory](https://cloud.google.com/service-directory) service. Format: `projects//locations//namespaces//services/`. `Location ID` of the service directory must be the same as the location of the agent.
+      },
       &quot;timeout&quot;: &quot;A String&quot;, # Webhook execution timeout. Execution is considered failed if Dialogflow doesn&#x27;t receive a response from webhook at the end of the timeout period. Defaults to 5 seconds, maximum allowed timeout is 30 seconds.
     },
   ],
@@ -270,6 +314,17 @@
     &quot;username&quot;: &quot;A String&quot;, # The user name for HTTP Basic authentication.
   },
   &quot;name&quot;: &quot;A String&quot;, # The unique identifier of the webhook. Required for the Webhooks.UpdateWebhook method. Webhooks.CreateWebhook populates the name automatically. Format: `projects//locations//agents//webhooks/`.
+  &quot;serviceDirectory&quot;: { # Represents configuration for a [Service Directory](https://cloud.google.com/service-directory) service. # Configuration for a [Service Directory](https://cloud.google.com/service-directory) service.
+    &quot;genericWebService&quot;: { # Represents configuration for a generic web service. # Generic Service configuration of this webhook.
+      &quot;password&quot;: &quot;A String&quot;, # The password for HTTP Basic authentication.
+      &quot;requestHeaders&quot;: { # The HTTP request headers to send together with webhook requests.
+        &quot;a_key&quot;: &quot;A String&quot;,
+      },
+      &quot;uri&quot;: &quot;A String&quot;, # Required. The webhook URI for receiving POST requests. It must use https protocol.
+      &quot;username&quot;: &quot;A String&quot;, # The user name for HTTP Basic authentication.
+    },
+    &quot;service&quot;: &quot;A String&quot;, # Required. The name of [Service Directory](https://cloud.google.com/service-directory) service. Format: `projects//locations//namespaces//services/`. `Location ID` of the service directory must be the same as the location of the agent.
+  },
   &quot;timeout&quot;: &quot;A String&quot;, # Webhook execution timeout. Execution is considered failed if Dialogflow doesn&#x27;t receive a response from webhook at the end of the timeout period. Defaults to 5 seconds, maximum allowed timeout is 30 seconds.
 }
 
@@ -294,6 +349,17 @@
     &quot;username&quot;: &quot;A String&quot;, # The user name for HTTP Basic authentication.
   },
   &quot;name&quot;: &quot;A String&quot;, # The unique identifier of the webhook. Required for the Webhooks.UpdateWebhook method. Webhooks.CreateWebhook populates the name automatically. Format: `projects//locations//agents//webhooks/`.
+  &quot;serviceDirectory&quot;: { # Represents configuration for a [Service Directory](https://cloud.google.com/service-directory) service. # Configuration for a [Service Directory](https://cloud.google.com/service-directory) service.
+    &quot;genericWebService&quot;: { # Represents configuration for a generic web service. # Generic Service configuration of this webhook.
+      &quot;password&quot;: &quot;A String&quot;, # The password for HTTP Basic authentication.
+      &quot;requestHeaders&quot;: { # The HTTP request headers to send together with webhook requests.
+        &quot;a_key&quot;: &quot;A String&quot;,
+      },
+      &quot;uri&quot;: &quot;A String&quot;, # Required. The webhook URI for receiving POST requests. It must use https protocol.
+      &quot;username&quot;: &quot;A String&quot;, # The user name for HTTP Basic authentication.
+    },
+    &quot;service&quot;: &quot;A String&quot;, # Required. The name of [Service Directory](https://cloud.google.com/service-directory) service. Format: `projects//locations//namespaces//services/`. `Location ID` of the service directory must be the same as the location of the agent.
+  },
   &quot;timeout&quot;: &quot;A String&quot;, # Webhook execution timeout. Execution is considered failed if Dialogflow doesn&#x27;t receive a response from webhook at the end of the timeout period. Defaults to 5 seconds, maximum allowed timeout is 30 seconds.
 }</pre>
 </div>
diff --git a/docs/dyn/dialogflow_v3beta1.projects.locations.agents.webhooks.html b/docs/dyn/dialogflow_v3beta1.projects.locations.agents.webhooks.html
index 4b948ff..bb3d4bf 100644
--- a/docs/dyn/dialogflow_v3beta1.projects.locations.agents.webhooks.html
+++ b/docs/dyn/dialogflow_v3beta1.projects.locations.agents.webhooks.html
@@ -122,6 +122,17 @@
     &quot;username&quot;: &quot;A String&quot;, # The user name for HTTP Basic authentication.
   },
   &quot;name&quot;: &quot;A String&quot;, # The unique identifier of the webhook. Required for the Webhooks.UpdateWebhook method. Webhooks.CreateWebhook populates the name automatically. Format: `projects//locations//agents//webhooks/`.
+  &quot;serviceDirectory&quot;: { # Represents configuration for a [Service Directory](https://cloud.google.com/service-directory) service. # Configuration for a [Service Directory](https://cloud.google.com/service-directory) service.
+    &quot;genericWebService&quot;: { # Represents configuration for a generic web service. # Generic Service configuration of this webhook.
+      &quot;password&quot;: &quot;A String&quot;, # The password for HTTP Basic authentication.
+      &quot;requestHeaders&quot;: { # The HTTP request headers to send together with webhook requests.
+        &quot;a_key&quot;: &quot;A String&quot;,
+      },
+      &quot;uri&quot;: &quot;A String&quot;, # Required. The webhook URI for receiving POST requests. It must use https protocol.
+      &quot;username&quot;: &quot;A String&quot;, # The user name for HTTP Basic authentication.
+    },
+    &quot;service&quot;: &quot;A String&quot;, # Required. The name of [Service Directory](https://cloud.google.com/service-directory) service. Format: `projects//locations//namespaces//services/`. `Location ID` of the service directory must be the same as the location of the agent.
+  },
   &quot;timeout&quot;: &quot;A String&quot;, # Webhook execution timeout. Execution is considered failed if Dialogflow doesn&#x27;t receive a response from webhook at the end of the timeout period. Defaults to 5 seconds, maximum allowed timeout is 30 seconds.
 }
 
@@ -145,6 +156,17 @@
     &quot;username&quot;: &quot;A String&quot;, # The user name for HTTP Basic authentication.
   },
   &quot;name&quot;: &quot;A String&quot;, # The unique identifier of the webhook. Required for the Webhooks.UpdateWebhook method. Webhooks.CreateWebhook populates the name automatically. Format: `projects//locations//agents//webhooks/`.
+  &quot;serviceDirectory&quot;: { # Represents configuration for a [Service Directory](https://cloud.google.com/service-directory) service. # Configuration for a [Service Directory](https://cloud.google.com/service-directory) service.
+    &quot;genericWebService&quot;: { # Represents configuration for a generic web service. # Generic Service configuration of this webhook.
+      &quot;password&quot;: &quot;A String&quot;, # The password for HTTP Basic authentication.
+      &quot;requestHeaders&quot;: { # The HTTP request headers to send together with webhook requests.
+        &quot;a_key&quot;: &quot;A String&quot;,
+      },
+      &quot;uri&quot;: &quot;A String&quot;, # Required. The webhook URI for receiving POST requests. It must use https protocol.
+      &quot;username&quot;: &quot;A String&quot;, # The user name for HTTP Basic authentication.
+    },
+    &quot;service&quot;: &quot;A String&quot;, # Required. The name of [Service Directory](https://cloud.google.com/service-directory) service. Format: `projects//locations//namespaces//services/`. `Location ID` of the service directory must be the same as the location of the agent.
+  },
   &quot;timeout&quot;: &quot;A String&quot;, # Webhook execution timeout. Execution is considered failed if Dialogflow doesn&#x27;t receive a response from webhook at the end of the timeout period. Defaults to 5 seconds, maximum allowed timeout is 30 seconds.
 }</pre>
 </div>
@@ -194,6 +216,17 @@
     &quot;username&quot;: &quot;A String&quot;, # The user name for HTTP Basic authentication.
   },
   &quot;name&quot;: &quot;A String&quot;, # The unique identifier of the webhook. Required for the Webhooks.UpdateWebhook method. Webhooks.CreateWebhook populates the name automatically. Format: `projects//locations//agents//webhooks/`.
+  &quot;serviceDirectory&quot;: { # Represents configuration for a [Service Directory](https://cloud.google.com/service-directory) service. # Configuration for a [Service Directory](https://cloud.google.com/service-directory) service.
+    &quot;genericWebService&quot;: { # Represents configuration for a generic web service. # Generic Service configuration of this webhook.
+      &quot;password&quot;: &quot;A String&quot;, # The password for HTTP Basic authentication.
+      &quot;requestHeaders&quot;: { # The HTTP request headers to send together with webhook requests.
+        &quot;a_key&quot;: &quot;A String&quot;,
+      },
+      &quot;uri&quot;: &quot;A String&quot;, # Required. The webhook URI for receiving POST requests. It must use https protocol.
+      &quot;username&quot;: &quot;A String&quot;, # The user name for HTTP Basic authentication.
+    },
+    &quot;service&quot;: &quot;A String&quot;, # Required. The name of [Service Directory](https://cloud.google.com/service-directory) service. Format: `projects//locations//namespaces//services/`. `Location ID` of the service directory must be the same as the location of the agent.
+  },
   &quot;timeout&quot;: &quot;A String&quot;, # Webhook execution timeout. Execution is considered failed if Dialogflow doesn&#x27;t receive a response from webhook at the end of the timeout period. Defaults to 5 seconds, maximum allowed timeout is 30 seconds.
 }</pre>
 </div>
@@ -229,6 +262,17 @@
         &quot;username&quot;: &quot;A String&quot;, # The user name for HTTP Basic authentication.
       },
       &quot;name&quot;: &quot;A String&quot;, # The unique identifier of the webhook. Required for the Webhooks.UpdateWebhook method. Webhooks.CreateWebhook populates the name automatically. Format: `projects//locations//agents//webhooks/`.
+      &quot;serviceDirectory&quot;: { # Represents configuration for a [Service Directory](https://cloud.google.com/service-directory) service. # Configuration for a [Service Directory](https://cloud.google.com/service-directory) service.
+        &quot;genericWebService&quot;: { # Represents configuration for a generic web service. # Generic Service configuration of this webhook.
+          &quot;password&quot;: &quot;A String&quot;, # The password for HTTP Basic authentication.
+          &quot;requestHeaders&quot;: { # The HTTP request headers to send together with webhook requests.
+            &quot;a_key&quot;: &quot;A String&quot;,
+          },
+          &quot;uri&quot;: &quot;A String&quot;, # Required. The webhook URI for receiving POST requests. It must use https protocol.
+          &quot;username&quot;: &quot;A String&quot;, # The user name for HTTP Basic authentication.
+        },
+        &quot;service&quot;: &quot;A String&quot;, # Required. The name of [Service Directory](https://cloud.google.com/service-directory) service. Format: `projects//locations//namespaces//services/`. `Location ID` of the service directory must be the same as the location of the agent.
+      },
       &quot;timeout&quot;: &quot;A String&quot;, # Webhook execution timeout. Execution is considered failed if Dialogflow doesn&#x27;t receive a response from webhook at the end of the timeout period. Defaults to 5 seconds, maximum allowed timeout is 30 seconds.
     },
   ],
@@ -270,6 +314,17 @@
     &quot;username&quot;: &quot;A String&quot;, # The user name for HTTP Basic authentication.
   },
   &quot;name&quot;: &quot;A String&quot;, # The unique identifier of the webhook. Required for the Webhooks.UpdateWebhook method. Webhooks.CreateWebhook populates the name automatically. Format: `projects//locations//agents//webhooks/`.
+  &quot;serviceDirectory&quot;: { # Represents configuration for a [Service Directory](https://cloud.google.com/service-directory) service. # Configuration for a [Service Directory](https://cloud.google.com/service-directory) service.
+    &quot;genericWebService&quot;: { # Represents configuration for a generic web service. # Generic Service configuration of this webhook.
+      &quot;password&quot;: &quot;A String&quot;, # The password for HTTP Basic authentication.
+      &quot;requestHeaders&quot;: { # The HTTP request headers to send together with webhook requests.
+        &quot;a_key&quot;: &quot;A String&quot;,
+      },
+      &quot;uri&quot;: &quot;A String&quot;, # Required. The webhook URI for receiving POST requests. It must use https protocol.
+      &quot;username&quot;: &quot;A String&quot;, # The user name for HTTP Basic authentication.
+    },
+    &quot;service&quot;: &quot;A String&quot;, # Required. The name of [Service Directory](https://cloud.google.com/service-directory) service. Format: `projects//locations//namespaces//services/`. `Location ID` of the service directory must be the same as the location of the agent.
+  },
   &quot;timeout&quot;: &quot;A String&quot;, # Webhook execution timeout. Execution is considered failed if Dialogflow doesn&#x27;t receive a response from webhook at the end of the timeout period. Defaults to 5 seconds, maximum allowed timeout is 30 seconds.
 }
 
@@ -294,6 +349,17 @@
     &quot;username&quot;: &quot;A String&quot;, # The user name for HTTP Basic authentication.
   },
   &quot;name&quot;: &quot;A String&quot;, # The unique identifier of the webhook. Required for the Webhooks.UpdateWebhook method. Webhooks.CreateWebhook populates the name automatically. Format: `projects//locations//agents//webhooks/`.
+  &quot;serviceDirectory&quot;: { # Represents configuration for a [Service Directory](https://cloud.google.com/service-directory) service. # Configuration for a [Service Directory](https://cloud.google.com/service-directory) service.
+    &quot;genericWebService&quot;: { # Represents configuration for a generic web service. # Generic Service configuration of this webhook.
+      &quot;password&quot;: &quot;A String&quot;, # The password for HTTP Basic authentication.
+      &quot;requestHeaders&quot;: { # The HTTP request headers to send together with webhook requests.
+        &quot;a_key&quot;: &quot;A String&quot;,
+      },
+      &quot;uri&quot;: &quot;A String&quot;, # Required. The webhook URI for receiving POST requests. It must use https protocol.
+      &quot;username&quot;: &quot;A String&quot;, # The user name for HTTP Basic authentication.
+    },
+    &quot;service&quot;: &quot;A String&quot;, # Required. The name of [Service Directory](https://cloud.google.com/service-directory) service. Format: `projects//locations//namespaces//services/`. `Location ID` of the service directory must be the same as the location of the agent.
+  },
   &quot;timeout&quot;: &quot;A String&quot;, # Webhook execution timeout. Execution is considered failed if Dialogflow doesn&#x27;t receive a response from webhook at the end of the timeout period. Defaults to 5 seconds, maximum allowed timeout is 30 seconds.
 }</pre>
 </div>
diff --git a/docs/dyn/documentai_v1.projects.locations.processors.html b/docs/dyn/documentai_v1.projects.locations.processors.html
index ada58e4..3e0a7ca 100644
--- a/docs/dyn/documentai_v1.projects.locations.processors.html
+++ b/docs/dyn/documentai_v1.projects.locations.processors.html
@@ -254,6 +254,7 @@
           &quot;parents&quot;: [ # References to the original elements that are replaced.
             { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
               &quot;id&quot;: 42, # The id of the parent provenance.
+              &quot;index&quot;: 42, # The index of the parent revisions corresponding collection of items (eg. list of entities, properties within entities, etc.)
               &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
             },
           ],
@@ -332,6 +333,7 @@
               &quot;parents&quot;: [ # References to the original elements that are replaced.
                 { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
                   &quot;id&quot;: 42, # The id of the parent provenance.
+                  &quot;index&quot;: 42, # The index of the parent revisions corresponding collection of items (eg. list of entities, properties within entities, etc.)
                   &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
                 },
               ],
@@ -495,6 +497,7 @@
               &quot;parents&quot;: [ # References to the original elements that are replaced.
                 { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
                   &quot;id&quot;: 42, # The id of the parent provenance.
+                  &quot;index&quot;: 42, # The index of the parent revisions corresponding collection of items (eg. list of entities, properties within entities, etc.)
                   &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
                 },
               ],
@@ -544,6 +547,7 @@
               &quot;parents&quot;: [ # References to the original elements that are replaced.
                 { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
                   &quot;id&quot;: 42, # The id of the parent provenance.
+                  &quot;index&quot;: 42, # The index of the parent revisions corresponding collection of items (eg. list of entities, properties within entities, etc.)
                   &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
                 },
               ],
@@ -718,6 +722,7 @@
               &quot;parents&quot;: [ # References to the original elements that are replaced.
                 { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
                   &quot;id&quot;: 42, # The id of the parent provenance.
+                  &quot;index&quot;: 42, # The index of the parent revisions corresponding collection of items (eg. list of entities, properties within entities, etc.)
                   &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
                 },
               ],
@@ -804,6 +809,7 @@
             &quot;parents&quot;: [ # References to the original elements that are replaced.
               { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
                 &quot;id&quot;: 42, # The id of the parent provenance.
+                &quot;index&quot;: 42, # The index of the parent revisions corresponding collection of items (eg. list of entities, properties within entities, etc.)
                 &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
               },
             ],
@@ -957,6 +963,7 @@
           &quot;parents&quot;: [ # References to the original elements that are replaced.
             { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
               &quot;id&quot;: 42, # The id of the parent provenance.
+              &quot;index&quot;: 42, # The index of the parent revisions corresponding collection of items (eg. list of entities, properties within entities, etc.)
               &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
             },
           ],
@@ -1035,6 +1042,7 @@
               &quot;parents&quot;: [ # References to the original elements that are replaced.
                 { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
                   &quot;id&quot;: 42, # The id of the parent provenance.
+                  &quot;index&quot;: 42, # The index of the parent revisions corresponding collection of items (eg. list of entities, properties within entities, etc.)
                   &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
                 },
               ],
@@ -1198,6 +1206,7 @@
               &quot;parents&quot;: [ # References to the original elements that are replaced.
                 { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
                   &quot;id&quot;: 42, # The id of the parent provenance.
+                  &quot;index&quot;: 42, # The index of the parent revisions corresponding collection of items (eg. list of entities, properties within entities, etc.)
                   &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
                 },
               ],
@@ -1247,6 +1256,7 @@
               &quot;parents&quot;: [ # References to the original elements that are replaced.
                 { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
                   &quot;id&quot;: 42, # The id of the parent provenance.
+                  &quot;index&quot;: 42, # The index of the parent revisions corresponding collection of items (eg. list of entities, properties within entities, etc.)
                   &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
                 },
               ],
@@ -1421,6 +1431,7 @@
               &quot;parents&quot;: [ # References to the original elements that are replaced.
                 { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
                   &quot;id&quot;: 42, # The id of the parent provenance.
+                  &quot;index&quot;: 42, # The index of the parent revisions corresponding collection of items (eg. list of entities, properties within entities, etc.)
                   &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
                 },
               ],
@@ -1507,6 +1518,7 @@
             &quot;parents&quot;: [ # References to the original elements that are replaced.
               { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
                 &quot;id&quot;: 42, # The id of the parent provenance.
+                &quot;index&quot;: 42, # The index of the parent revisions corresponding collection of items (eg. list of entities, properties within entities, etc.)
                 &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
               },
             ],
diff --git a/docs/dyn/documentai_v1.projects.locations.processors.humanReviewConfig.html b/docs/dyn/documentai_v1.projects.locations.processors.humanReviewConfig.html
index 2933639..a5a91cd 100644
--- a/docs/dyn/documentai_v1.projects.locations.processors.humanReviewConfig.html
+++ b/docs/dyn/documentai_v1.projects.locations.processors.humanReviewConfig.html
@@ -181,6 +181,7 @@
           &quot;parents&quot;: [ # References to the original elements that are replaced.
             { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
               &quot;id&quot;: 42, # The id of the parent provenance.
+              &quot;index&quot;: 42, # The index of the parent revisions corresponding collection of items (eg. list of entities, properties within entities, etc.)
               &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
             },
           ],
@@ -259,6 +260,7 @@
               &quot;parents&quot;: [ # References to the original elements that are replaced.
                 { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
                   &quot;id&quot;: 42, # The id of the parent provenance.
+                  &quot;index&quot;: 42, # The index of the parent revisions corresponding collection of items (eg. list of entities, properties within entities, etc.)
                   &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
                 },
               ],
@@ -422,6 +424,7 @@
               &quot;parents&quot;: [ # References to the original elements that are replaced.
                 { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
                   &quot;id&quot;: 42, # The id of the parent provenance.
+                  &quot;index&quot;: 42, # The index of the parent revisions corresponding collection of items (eg. list of entities, properties within entities, etc.)
                   &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
                 },
               ],
@@ -471,6 +474,7 @@
               &quot;parents&quot;: [ # References to the original elements that are replaced.
                 { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
                   &quot;id&quot;: 42, # The id of the parent provenance.
+                  &quot;index&quot;: 42, # The index of the parent revisions corresponding collection of items (eg. list of entities, properties within entities, etc.)
                   &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
                 },
               ],
@@ -645,6 +649,7 @@
               &quot;parents&quot;: [ # References to the original elements that are replaced.
                 { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
                   &quot;id&quot;: 42, # The id of the parent provenance.
+                  &quot;index&quot;: 42, # The index of the parent revisions corresponding collection of items (eg. list of entities, properties within entities, etc.)
                   &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
                 },
               ],
@@ -731,6 +736,7 @@
             &quot;parents&quot;: [ # References to the original elements that are replaced.
               { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
                 &quot;id&quot;: 42, # The id of the parent provenance.
+                &quot;index&quot;: 42, # The index of the parent revisions corresponding collection of items (eg. list of entities, properties within entities, etc.)
                 &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
               },
             ],
diff --git a/docs/dyn/documentai_v1.projects.locations.processors.processorVersions.html b/docs/dyn/documentai_v1.projects.locations.processors.processorVersions.html
index 92a0402..647f1fc 100644
--- a/docs/dyn/documentai_v1.projects.locations.processors.processorVersions.html
+++ b/docs/dyn/documentai_v1.projects.locations.processors.processorVersions.html
@@ -244,6 +244,7 @@
           &quot;parents&quot;: [ # References to the original elements that are replaced.
             { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
               &quot;id&quot;: 42, # The id of the parent provenance.
+              &quot;index&quot;: 42, # The index of the parent revisions corresponding collection of items (eg. list of entities, properties within entities, etc.)
               &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
             },
           ],
@@ -322,6 +323,7 @@
               &quot;parents&quot;: [ # References to the original elements that are replaced.
                 { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
                   &quot;id&quot;: 42, # The id of the parent provenance.
+                  &quot;index&quot;: 42, # The index of the parent revisions corresponding collection of items (eg. list of entities, properties within entities, etc.)
                   &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
                 },
               ],
@@ -485,6 +487,7 @@
               &quot;parents&quot;: [ # References to the original elements that are replaced.
                 { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
                   &quot;id&quot;: 42, # The id of the parent provenance.
+                  &quot;index&quot;: 42, # The index of the parent revisions corresponding collection of items (eg. list of entities, properties within entities, etc.)
                   &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
                 },
               ],
@@ -534,6 +537,7 @@
               &quot;parents&quot;: [ # References to the original elements that are replaced.
                 { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
                   &quot;id&quot;: 42, # The id of the parent provenance.
+                  &quot;index&quot;: 42, # The index of the parent revisions corresponding collection of items (eg. list of entities, properties within entities, etc.)
                   &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
                 },
               ],
@@ -708,6 +712,7 @@
               &quot;parents&quot;: [ # References to the original elements that are replaced.
                 { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
                   &quot;id&quot;: 42, # The id of the parent provenance.
+                  &quot;index&quot;: 42, # The index of the parent revisions corresponding collection of items (eg. list of entities, properties within entities, etc.)
                   &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
                 },
               ],
@@ -794,6 +799,7 @@
             &quot;parents&quot;: [ # References to the original elements that are replaced.
               { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
                 &quot;id&quot;: 42, # The id of the parent provenance.
+                &quot;index&quot;: 42, # The index of the parent revisions corresponding collection of items (eg. list of entities, properties within entities, etc.)
                 &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
               },
             ],
@@ -947,6 +953,7 @@
           &quot;parents&quot;: [ # References to the original elements that are replaced.
             { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
               &quot;id&quot;: 42, # The id of the parent provenance.
+              &quot;index&quot;: 42, # The index of the parent revisions corresponding collection of items (eg. list of entities, properties within entities, etc.)
               &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
             },
           ],
@@ -1025,6 +1032,7 @@
               &quot;parents&quot;: [ # References to the original elements that are replaced.
                 { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
                   &quot;id&quot;: 42, # The id of the parent provenance.
+                  &quot;index&quot;: 42, # The index of the parent revisions corresponding collection of items (eg. list of entities, properties within entities, etc.)
                   &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
                 },
               ],
@@ -1188,6 +1196,7 @@
               &quot;parents&quot;: [ # References to the original elements that are replaced.
                 { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
                   &quot;id&quot;: 42, # The id of the parent provenance.
+                  &quot;index&quot;: 42, # The index of the parent revisions corresponding collection of items (eg. list of entities, properties within entities, etc.)
                   &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
                 },
               ],
@@ -1237,6 +1246,7 @@
               &quot;parents&quot;: [ # References to the original elements that are replaced.
                 { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
                   &quot;id&quot;: 42, # The id of the parent provenance.
+                  &quot;index&quot;: 42, # The index of the parent revisions corresponding collection of items (eg. list of entities, properties within entities, etc.)
                   &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
                 },
               ],
@@ -1411,6 +1421,7 @@
               &quot;parents&quot;: [ # References to the original elements that are replaced.
                 { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
                   &quot;id&quot;: 42, # The id of the parent provenance.
+                  &quot;index&quot;: 42, # The index of the parent revisions corresponding collection of items (eg. list of entities, properties within entities, etc.)
                   &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
                 },
               ],
@@ -1497,6 +1508,7 @@
             &quot;parents&quot;: [ # References to the original elements that are replaced.
               { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
                 &quot;id&quot;: 42, # The id of the parent provenance.
+                &quot;index&quot;: 42, # The index of the parent revisions corresponding collection of items (eg. list of entities, properties within entities, etc.)
                 &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
               },
             ],
diff --git a/docs/dyn/documentai_v1beta2.projects.documents.html b/docs/dyn/documentai_v1beta2.projects.documents.html
index 5d0c183..65363a3 100644
--- a/docs/dyn/documentai_v1beta2.projects.documents.html
+++ b/docs/dyn/documentai_v1beta2.projects.documents.html
@@ -369,6 +369,7 @@
         &quot;parents&quot;: [ # References to the original elements that are replaced.
           { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
             &quot;id&quot;: 42, # The id of the parent provenance.
+            &quot;index&quot;: 42, # The index of the parent revisions corresponding collection of items (eg. list of entities, properties within entities, etc.)
             &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
           },
         ],
@@ -454,6 +455,7 @@
             &quot;parents&quot;: [ # References to the original elements that are replaced.
               { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
                 &quot;id&quot;: 42, # The id of the parent provenance.
+                &quot;index&quot;: 42, # The index of the parent revisions corresponding collection of items (eg. list of entities, properties within entities, etc.)
                 &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
               },
             ],
@@ -617,6 +619,7 @@
             &quot;parents&quot;: [ # References to the original elements that are replaced.
               { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
                 &quot;id&quot;: 42, # The id of the parent provenance.
+                &quot;index&quot;: 42, # The index of the parent revisions corresponding collection of items (eg. list of entities, properties within entities, etc.)
                 &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
               },
             ],
@@ -666,6 +669,7 @@
             &quot;parents&quot;: [ # References to the original elements that are replaced.
               { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
                 &quot;id&quot;: 42, # The id of the parent provenance.
+                &quot;index&quot;: 42, # The index of the parent revisions corresponding collection of items (eg. list of entities, properties within entities, etc.)
                 &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
               },
             ],
@@ -840,6 +844,7 @@
             &quot;parents&quot;: [ # References to the original elements that are replaced.
               { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
                 &quot;id&quot;: 42, # The id of the parent provenance.
+                &quot;index&quot;: 42, # The index of the parent revisions corresponding collection of items (eg. list of entities, properties within entities, etc.)
                 &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
               },
             ],
@@ -926,6 +931,7 @@
           &quot;parents&quot;: [ # References to the original elements that are replaced.
             { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
               &quot;id&quot;: 42, # The id of the parent provenance.
+              &quot;index&quot;: 42, # The index of the parent revisions corresponding collection of items (eg. list of entities, properties within entities, etc.)
               &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
             },
           ],
diff --git a/docs/dyn/documentai_v1beta2.projects.locations.documents.html b/docs/dyn/documentai_v1beta2.projects.locations.documents.html
index 115c276..fc2ffc0 100644
--- a/docs/dyn/documentai_v1beta2.projects.locations.documents.html
+++ b/docs/dyn/documentai_v1beta2.projects.locations.documents.html
@@ -369,6 +369,7 @@
         &quot;parents&quot;: [ # References to the original elements that are replaced.
           { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
             &quot;id&quot;: 42, # The id of the parent provenance.
+            &quot;index&quot;: 42, # The index of the parent revisions corresponding collection of items (eg. list of entities, properties within entities, etc.)
             &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
           },
         ],
@@ -454,6 +455,7 @@
             &quot;parents&quot;: [ # References to the original elements that are replaced.
               { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
                 &quot;id&quot;: 42, # The id of the parent provenance.
+                &quot;index&quot;: 42, # The index of the parent revisions corresponding collection of items (eg. list of entities, properties within entities, etc.)
                 &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
               },
             ],
@@ -617,6 +619,7 @@
             &quot;parents&quot;: [ # References to the original elements that are replaced.
               { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
                 &quot;id&quot;: 42, # The id of the parent provenance.
+                &quot;index&quot;: 42, # The index of the parent revisions corresponding collection of items (eg. list of entities, properties within entities, etc.)
                 &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
               },
             ],
@@ -666,6 +669,7 @@
             &quot;parents&quot;: [ # References to the original elements that are replaced.
               { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
                 &quot;id&quot;: 42, # The id of the parent provenance.
+                &quot;index&quot;: 42, # The index of the parent revisions corresponding collection of items (eg. list of entities, properties within entities, etc.)
                 &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
               },
             ],
@@ -840,6 +844,7 @@
             &quot;parents&quot;: [ # References to the original elements that are replaced.
               { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
                 &quot;id&quot;: 42, # The id of the parent provenance.
+                &quot;index&quot;: 42, # The index of the parent revisions corresponding collection of items (eg. list of entities, properties within entities, etc.)
                 &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
               },
             ],
@@ -926,6 +931,7 @@
           &quot;parents&quot;: [ # References to the original elements that are replaced.
             { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
               &quot;id&quot;: 42, # The id of the parent provenance.
+              &quot;index&quot;: 42, # The index of the parent revisions corresponding collection of items (eg. list of entities, properties within entities, etc.)
               &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
             },
           ],
diff --git a/docs/dyn/documentai_v1beta3.projects.locations.processors.html b/docs/dyn/documentai_v1beta3.projects.locations.processors.html
index 78f680d..96391e1 100644
--- a/docs/dyn/documentai_v1beta3.projects.locations.processors.html
+++ b/docs/dyn/documentai_v1beta3.projects.locations.processors.html
@@ -485,6 +485,7 @@
           &quot;parents&quot;: [ # References to the original elements that are replaced.
             { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
               &quot;id&quot;: 42, # The id of the parent provenance.
+              &quot;index&quot;: 42, # The index of the parent revisions corresponding collection of items (eg. list of entities, properties within entities, etc.)
               &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
             },
           ],
@@ -563,6 +564,7 @@
               &quot;parents&quot;: [ # References to the original elements that are replaced.
                 { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
                   &quot;id&quot;: 42, # The id of the parent provenance.
+                  &quot;index&quot;: 42, # The index of the parent revisions corresponding collection of items (eg. list of entities, properties within entities, etc.)
                   &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
                 },
               ],
@@ -726,6 +728,7 @@
               &quot;parents&quot;: [ # References to the original elements that are replaced.
                 { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
                   &quot;id&quot;: 42, # The id of the parent provenance.
+                  &quot;index&quot;: 42, # The index of the parent revisions corresponding collection of items (eg. list of entities, properties within entities, etc.)
                   &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
                 },
               ],
@@ -775,6 +778,7 @@
               &quot;parents&quot;: [ # References to the original elements that are replaced.
                 { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
                   &quot;id&quot;: 42, # The id of the parent provenance.
+                  &quot;index&quot;: 42, # The index of the parent revisions corresponding collection of items (eg. list of entities, properties within entities, etc.)
                   &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
                 },
               ],
@@ -949,6 +953,7 @@
               &quot;parents&quot;: [ # References to the original elements that are replaced.
                 { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
                   &quot;id&quot;: 42, # The id of the parent provenance.
+                  &quot;index&quot;: 42, # The index of the parent revisions corresponding collection of items (eg. list of entities, properties within entities, etc.)
                   &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
                 },
               ],
@@ -1035,6 +1040,7 @@
             &quot;parents&quot;: [ # References to the original elements that are replaced.
               { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
                 &quot;id&quot;: 42, # The id of the parent provenance.
+                &quot;index&quot;: 42, # The index of the parent revisions corresponding collection of items (eg. list of entities, properties within entities, etc.)
                 &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
               },
             ],
@@ -1172,6 +1178,7 @@
           &quot;parents&quot;: [ # References to the original elements that are replaced.
             { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
               &quot;id&quot;: 42, # The id of the parent provenance.
+              &quot;index&quot;: 42, # The index of the parent revisions corresponding collection of items (eg. list of entities, properties within entities, etc.)
               &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
             },
           ],
@@ -1250,6 +1257,7 @@
               &quot;parents&quot;: [ # References to the original elements that are replaced.
                 { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
                   &quot;id&quot;: 42, # The id of the parent provenance.
+                  &quot;index&quot;: 42, # The index of the parent revisions corresponding collection of items (eg. list of entities, properties within entities, etc.)
                   &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
                 },
               ],
@@ -1413,6 +1421,7 @@
               &quot;parents&quot;: [ # References to the original elements that are replaced.
                 { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
                   &quot;id&quot;: 42, # The id of the parent provenance.
+                  &quot;index&quot;: 42, # The index of the parent revisions corresponding collection of items (eg. list of entities, properties within entities, etc.)
                   &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
                 },
               ],
@@ -1462,6 +1471,7 @@
               &quot;parents&quot;: [ # References to the original elements that are replaced.
                 { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
                   &quot;id&quot;: 42, # The id of the parent provenance.
+                  &quot;index&quot;: 42, # The index of the parent revisions corresponding collection of items (eg. list of entities, properties within entities, etc.)
                   &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
                 },
               ],
@@ -1636,6 +1646,7 @@
               &quot;parents&quot;: [ # References to the original elements that are replaced.
                 { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
                   &quot;id&quot;: 42, # The id of the parent provenance.
+                  &quot;index&quot;: 42, # The index of the parent revisions corresponding collection of items (eg. list of entities, properties within entities, etc.)
                   &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
                 },
               ],
@@ -1722,6 +1733,7 @@
             &quot;parents&quot;: [ # References to the original elements that are replaced.
               { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
                 &quot;id&quot;: 42, # The id of the parent provenance.
+                &quot;index&quot;: 42, # The index of the parent revisions corresponding collection of items (eg. list of entities, properties within entities, etc.)
                 &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
               },
             ],
@@ -1875,6 +1887,7 @@
           &quot;parents&quot;: [ # References to the original elements that are replaced.
             { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
               &quot;id&quot;: 42, # The id of the parent provenance.
+              &quot;index&quot;: 42, # The index of the parent revisions corresponding collection of items (eg. list of entities, properties within entities, etc.)
               &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
             },
           ],
@@ -1953,6 +1966,7 @@
               &quot;parents&quot;: [ # References to the original elements that are replaced.
                 { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
                   &quot;id&quot;: 42, # The id of the parent provenance.
+                  &quot;index&quot;: 42, # The index of the parent revisions corresponding collection of items (eg. list of entities, properties within entities, etc.)
                   &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
                 },
               ],
@@ -2116,6 +2130,7 @@
               &quot;parents&quot;: [ # References to the original elements that are replaced.
                 { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
                   &quot;id&quot;: 42, # The id of the parent provenance.
+                  &quot;index&quot;: 42, # The index of the parent revisions corresponding collection of items (eg. list of entities, properties within entities, etc.)
                   &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
                 },
               ],
@@ -2165,6 +2180,7 @@
               &quot;parents&quot;: [ # References to the original elements that are replaced.
                 { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
                   &quot;id&quot;: 42, # The id of the parent provenance.
+                  &quot;index&quot;: 42, # The index of the parent revisions corresponding collection of items (eg. list of entities, properties within entities, etc.)
                   &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
                 },
               ],
@@ -2339,6 +2355,7 @@
               &quot;parents&quot;: [ # References to the original elements that are replaced.
                 { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
                   &quot;id&quot;: 42, # The id of the parent provenance.
+                  &quot;index&quot;: 42, # The index of the parent revisions corresponding collection of items (eg. list of entities, properties within entities, etc.)
                   &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
                 },
               ],
@@ -2425,6 +2442,7 @@
             &quot;parents&quot;: [ # References to the original elements that are replaced.
               { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
                 &quot;id&quot;: 42, # The id of the parent provenance.
+                &quot;index&quot;: 42, # The index of the parent revisions corresponding collection of items (eg. list of entities, properties within entities, etc.)
                 &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
               },
             ],
diff --git a/docs/dyn/documentai_v1beta3.projects.locations.processors.humanReviewConfig.html b/docs/dyn/documentai_v1beta3.projects.locations.processors.humanReviewConfig.html
index ea67f45..e5fb479 100644
--- a/docs/dyn/documentai_v1beta3.projects.locations.processors.humanReviewConfig.html
+++ b/docs/dyn/documentai_v1beta3.projects.locations.processors.humanReviewConfig.html
@@ -181,6 +181,7 @@
           &quot;parents&quot;: [ # References to the original elements that are replaced.
             { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
               &quot;id&quot;: 42, # The id of the parent provenance.
+              &quot;index&quot;: 42, # The index of the parent revisions corresponding collection of items (eg. list of entities, properties within entities, etc.)
               &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
             },
           ],
@@ -259,6 +260,7 @@
               &quot;parents&quot;: [ # References to the original elements that are replaced.
                 { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
                   &quot;id&quot;: 42, # The id of the parent provenance.
+                  &quot;index&quot;: 42, # The index of the parent revisions corresponding collection of items (eg. list of entities, properties within entities, etc.)
                   &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
                 },
               ],
@@ -422,6 +424,7 @@
               &quot;parents&quot;: [ # References to the original elements that are replaced.
                 { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
                   &quot;id&quot;: 42, # The id of the parent provenance.
+                  &quot;index&quot;: 42, # The index of the parent revisions corresponding collection of items (eg. list of entities, properties within entities, etc.)
                   &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
                 },
               ],
@@ -471,6 +474,7 @@
               &quot;parents&quot;: [ # References to the original elements that are replaced.
                 { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
                   &quot;id&quot;: 42, # The id of the parent provenance.
+                  &quot;index&quot;: 42, # The index of the parent revisions corresponding collection of items (eg. list of entities, properties within entities, etc.)
                   &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
                 },
               ],
@@ -645,6 +649,7 @@
               &quot;parents&quot;: [ # References to the original elements that are replaced.
                 { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
                   &quot;id&quot;: 42, # The id of the parent provenance.
+                  &quot;index&quot;: 42, # The index of the parent revisions corresponding collection of items (eg. list of entities, properties within entities, etc.)
                   &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
                 },
               ],
@@ -731,6 +736,7 @@
             &quot;parents&quot;: [ # References to the original elements that are replaced.
               { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
                 &quot;id&quot;: 42, # The id of the parent provenance.
+                &quot;index&quot;: 42, # The index of the parent revisions corresponding collection of items (eg. list of entities, properties within entities, etc.)
                 &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
               },
             ],
@@ -868,6 +874,7 @@
           &quot;parents&quot;: [ # References to the original elements that are replaced.
             { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
               &quot;id&quot;: 42, # The id of the parent provenance.
+              &quot;index&quot;: 42, # The index of the parent revisions corresponding collection of items (eg. list of entities, properties within entities, etc.)
               &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
             },
           ],
@@ -946,6 +953,7 @@
               &quot;parents&quot;: [ # References to the original elements that are replaced.
                 { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
                   &quot;id&quot;: 42, # The id of the parent provenance.
+                  &quot;index&quot;: 42, # The index of the parent revisions corresponding collection of items (eg. list of entities, properties within entities, etc.)
                   &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
                 },
               ],
@@ -1109,6 +1117,7 @@
               &quot;parents&quot;: [ # References to the original elements that are replaced.
                 { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
                   &quot;id&quot;: 42, # The id of the parent provenance.
+                  &quot;index&quot;: 42, # The index of the parent revisions corresponding collection of items (eg. list of entities, properties within entities, etc.)
                   &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
                 },
               ],
@@ -1158,6 +1167,7 @@
               &quot;parents&quot;: [ # References to the original elements that are replaced.
                 { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
                   &quot;id&quot;: 42, # The id of the parent provenance.
+                  &quot;index&quot;: 42, # The index of the parent revisions corresponding collection of items (eg. list of entities, properties within entities, etc.)
                   &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
                 },
               ],
@@ -1332,6 +1342,7 @@
               &quot;parents&quot;: [ # References to the original elements that are replaced.
                 { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
                   &quot;id&quot;: 42, # The id of the parent provenance.
+                  &quot;index&quot;: 42, # The index of the parent revisions corresponding collection of items (eg. list of entities, properties within entities, etc.)
                   &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
                 },
               ],
@@ -1418,6 +1429,7 @@
             &quot;parents&quot;: [ # References to the original elements that are replaced.
               { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
                 &quot;id&quot;: 42, # The id of the parent provenance.
+                &quot;index&quot;: 42, # The index of the parent revisions corresponding collection of items (eg. list of entities, properties within entities, etc.)
                 &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
               },
             ],
diff --git a/docs/dyn/documentai_v1beta3.projects.locations.processors.processorVersions.html b/docs/dyn/documentai_v1beta3.projects.locations.processors.processorVersions.html
index c853f75..8df3a3e 100644
--- a/docs/dyn/documentai_v1beta3.projects.locations.processors.processorVersions.html
+++ b/docs/dyn/documentai_v1beta3.projects.locations.processors.processorVersions.html
@@ -253,6 +253,7 @@
           &quot;parents&quot;: [ # References to the original elements that are replaced.
             { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
               &quot;id&quot;: 42, # The id of the parent provenance.
+              &quot;index&quot;: 42, # The index of the parent revisions corresponding collection of items (eg. list of entities, properties within entities, etc.)
               &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
             },
           ],
@@ -331,6 +332,7 @@
               &quot;parents&quot;: [ # References to the original elements that are replaced.
                 { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
                   &quot;id&quot;: 42, # The id of the parent provenance.
+                  &quot;index&quot;: 42, # The index of the parent revisions corresponding collection of items (eg. list of entities, properties within entities, etc.)
                   &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
                 },
               ],
@@ -494,6 +496,7 @@
               &quot;parents&quot;: [ # References to the original elements that are replaced.
                 { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
                   &quot;id&quot;: 42, # The id of the parent provenance.
+                  &quot;index&quot;: 42, # The index of the parent revisions corresponding collection of items (eg. list of entities, properties within entities, etc.)
                   &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
                 },
               ],
@@ -543,6 +546,7 @@
               &quot;parents&quot;: [ # References to the original elements that are replaced.
                 { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
                   &quot;id&quot;: 42, # The id of the parent provenance.
+                  &quot;index&quot;: 42, # The index of the parent revisions corresponding collection of items (eg. list of entities, properties within entities, etc.)
                   &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
                 },
               ],
@@ -717,6 +721,7 @@
               &quot;parents&quot;: [ # References to the original elements that are replaced.
                 { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
                   &quot;id&quot;: 42, # The id of the parent provenance.
+                  &quot;index&quot;: 42, # The index of the parent revisions corresponding collection of items (eg. list of entities, properties within entities, etc.)
                   &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
                 },
               ],
@@ -803,6 +808,7 @@
             &quot;parents&quot;: [ # References to the original elements that are replaced.
               { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
                 &quot;id&quot;: 42, # The id of the parent provenance.
+                &quot;index&quot;: 42, # The index of the parent revisions corresponding collection of items (eg. list of entities, properties within entities, etc.)
                 &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
               },
             ],
@@ -940,6 +946,7 @@
           &quot;parents&quot;: [ # References to the original elements that are replaced.
             { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
               &quot;id&quot;: 42, # The id of the parent provenance.
+              &quot;index&quot;: 42, # The index of the parent revisions corresponding collection of items (eg. list of entities, properties within entities, etc.)
               &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
             },
           ],
@@ -1018,6 +1025,7 @@
               &quot;parents&quot;: [ # References to the original elements that are replaced.
                 { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
                   &quot;id&quot;: 42, # The id of the parent provenance.
+                  &quot;index&quot;: 42, # The index of the parent revisions corresponding collection of items (eg. list of entities, properties within entities, etc.)
                   &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
                 },
               ],
@@ -1181,6 +1189,7 @@
               &quot;parents&quot;: [ # References to the original elements that are replaced.
                 { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
                   &quot;id&quot;: 42, # The id of the parent provenance.
+                  &quot;index&quot;: 42, # The index of the parent revisions corresponding collection of items (eg. list of entities, properties within entities, etc.)
                   &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
                 },
               ],
@@ -1230,6 +1239,7 @@
               &quot;parents&quot;: [ # References to the original elements that are replaced.
                 { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
                   &quot;id&quot;: 42, # The id of the parent provenance.
+                  &quot;index&quot;: 42, # The index of the parent revisions corresponding collection of items (eg. list of entities, properties within entities, etc.)
                   &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
                 },
               ],
@@ -1404,6 +1414,7 @@
               &quot;parents&quot;: [ # References to the original elements that are replaced.
                 { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
                   &quot;id&quot;: 42, # The id of the parent provenance.
+                  &quot;index&quot;: 42, # The index of the parent revisions corresponding collection of items (eg. list of entities, properties within entities, etc.)
                   &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
                 },
               ],
@@ -1490,6 +1501,7 @@
             &quot;parents&quot;: [ # References to the original elements that are replaced.
               { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
                 &quot;id&quot;: 42, # The id of the parent provenance.
+                &quot;index&quot;: 42, # The index of the parent revisions corresponding collection of items (eg. list of entities, properties within entities, etc.)
                 &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
               },
             ],
@@ -1643,6 +1655,7 @@
           &quot;parents&quot;: [ # References to the original elements that are replaced.
             { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
               &quot;id&quot;: 42, # The id of the parent provenance.
+              &quot;index&quot;: 42, # The index of the parent revisions corresponding collection of items (eg. list of entities, properties within entities, etc.)
               &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
             },
           ],
@@ -1721,6 +1734,7 @@
               &quot;parents&quot;: [ # References to the original elements that are replaced.
                 { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
                   &quot;id&quot;: 42, # The id of the parent provenance.
+                  &quot;index&quot;: 42, # The index of the parent revisions corresponding collection of items (eg. list of entities, properties within entities, etc.)
                   &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
                 },
               ],
@@ -1884,6 +1898,7 @@
               &quot;parents&quot;: [ # References to the original elements that are replaced.
                 { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
                   &quot;id&quot;: 42, # The id of the parent provenance.
+                  &quot;index&quot;: 42, # The index of the parent revisions corresponding collection of items (eg. list of entities, properties within entities, etc.)
                   &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
                 },
               ],
@@ -1933,6 +1948,7 @@
               &quot;parents&quot;: [ # References to the original elements that are replaced.
                 { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
                   &quot;id&quot;: 42, # The id of the parent provenance.
+                  &quot;index&quot;: 42, # The index of the parent revisions corresponding collection of items (eg. list of entities, properties within entities, etc.)
                   &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
                 },
               ],
@@ -2107,6 +2123,7 @@
               &quot;parents&quot;: [ # References to the original elements that are replaced.
                 { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
                   &quot;id&quot;: 42, # The id of the parent provenance.
+                  &quot;index&quot;: 42, # The index of the parent revisions corresponding collection of items (eg. list of entities, properties within entities, etc.)
                   &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
                 },
               ],
@@ -2193,6 +2210,7 @@
             &quot;parents&quot;: [ # References to the original elements that are replaced.
               { # Structure for referencing parent provenances. When an element replaces one of more other elements parent references identify the elements that are replaced.
                 &quot;id&quot;: 42, # The id of the parent provenance.
+                &quot;index&quot;: 42, # The index of the parent revisions corresponding collection of items (eg. list of entities, properties within entities, etc.)
                 &quot;revision&quot;: 42, # The index of the [Document.revisions] identifying the parent revision.
               },
             ],
diff --git a/docs/dyn/drive_v2.files.html b/docs/dyn/drive_v2.files.html
index da1ba44..b78eeef 100644
--- a/docs/dyn/drive_v2.files.html
+++ b/docs/dyn/drive_v2.files.html
@@ -93,7 +93,7 @@
   <code><a href="#export_media">export_media(fileId, mimeType)</a></code></p>
 <p class="firstline">Exports a Google Doc to the requested MIME type and returns the exported content. Please note that the exported content is limited to 10MB.</p>
 <p class="toc_element">
-  <code><a href="#generateIds">generateIds(maxResults=None, space=None)</a></code></p>
+  <code><a href="#generateIds">generateIds(maxResults=None, space=None, type=None)</a></code></p>
 <p class="firstline">Generates a set of file IDs which can be provided in insert or copy requests.</p>
 <p class="toc_element">
   <code><a href="#get">get(fileId, acknowledgeAbuse=None, includePermissionsForView=None, projection=None, revisionId=None, supportsAllDrives=None, supportsTeamDrives=None, updateViewedDate=None)</a></code></p>
@@ -941,12 +941,13 @@
 </div>
 
 <div class="method">
-    <code class="details" id="generateIds">generateIds(maxResults=None, space=None)</code>
+    <code class="details" id="generateIds">generateIds(maxResults=None, space=None, type=None)</code>
   <pre>Generates a set of file IDs which can be provided in insert or copy requests.
 
 Args:
   maxResults: integer, Maximum number of IDs to return.
-  space: string, The space in which the IDs can be used to create new files. Supported values are &#x27;drive&#x27; and &#x27;appDataFolder&#x27;.
+  space: string, The space in which the IDs can be used to create new files. Supported values are &#x27;drive&#x27; and &#x27;appDataFolder&#x27;. (Default: &#x27;drive&#x27;)
+  type: string, The type of items which the IDs can be used for. Supported values are &#x27;files&#x27; and &#x27;shortcuts&#x27;. Note that &#x27;shortcuts&#x27; are only supported in the drive &#x27;space&#x27;. (Default: &#x27;files&#x27;)
 
 Returns:
   An object of the form:
diff --git a/docs/dyn/drive_v2.revisions.html b/docs/dyn/drive_v2.revisions.html
index dc987cb..60bd1c7 100644
--- a/docs/dyn/drive_v2.revisions.html
+++ b/docs/dyn/drive_v2.revisions.html
@@ -146,7 +146,7 @@
   &quot;mimeType&quot;: &quot;A String&quot;, # The MIME type of the revision.
   &quot;modifiedDate&quot;: &quot;A String&quot;, # Last time this revision was modified (formatted RFC 3339 timestamp).
   &quot;originalFilename&quot;: &quot;A String&quot;, # The original filename when this revision was created. This will only be populated on files with content stored in Drive.
-  &quot;pinned&quot;: True or False, # Whether this revision is pinned to prevent automatic purging. This will only be populated and can only be modified on files with content stored in Drive, excluding Docs Editors files. Revisions can also be pinned when they are created through the drive.files.insert/update/copy by using the pinned query parameter. Pinned revisions are stored indefinitely using additional storage quota, up to a maximum of 200 revisions.
+  &quot;pinned&quot;: True or False, # Whether this revision is pinned to prevent automatic purging. If not set, the revision is automatically purged 30 days after newer content is uploaded. This field can only be modified on files with content stored in Drive, excluding Docs Editors files. Revisions can also be pinned when they are created through the drive.files.insert/update/copy by using the pinned query parameter. Pinned revisions are stored indefinitely using additional storage quota, up to a maximum of 200 revisions.
   &quot;publishAuto&quot;: True or False, # Whether subsequent revisions will be automatically republished. This is only populated and can only be modified for Docs Editors files.
   &quot;published&quot;: True or False, # Whether this revision is published. This is only populated and can only be modified for Docs Editors files.
   &quot;publishedLink&quot;: &quot;A String&quot;, # A link to the published revision. This is only populated for Google Sites files.
@@ -194,7 +194,7 @@
       &quot;mimeType&quot;: &quot;A String&quot;, # The MIME type of the revision.
       &quot;modifiedDate&quot;: &quot;A String&quot;, # Last time this revision was modified (formatted RFC 3339 timestamp).
       &quot;originalFilename&quot;: &quot;A String&quot;, # The original filename when this revision was created. This will only be populated on files with content stored in Drive.
-      &quot;pinned&quot;: True or False, # Whether this revision is pinned to prevent automatic purging. This will only be populated and can only be modified on files with content stored in Drive, excluding Docs Editors files. Revisions can also be pinned when they are created through the drive.files.insert/update/copy by using the pinned query parameter. Pinned revisions are stored indefinitely using additional storage quota, up to a maximum of 200 revisions.
+      &quot;pinned&quot;: True or False, # Whether this revision is pinned to prevent automatic purging. If not set, the revision is automatically purged 30 days after newer content is uploaded. This field can only be modified on files with content stored in Drive, excluding Docs Editors files. Revisions can also be pinned when they are created through the drive.files.insert/update/copy by using the pinned query parameter. Pinned revisions are stored indefinitely using additional storage quota, up to a maximum of 200 revisions.
       &quot;publishAuto&quot;: True or False, # Whether subsequent revisions will be automatically republished. This is only populated and can only be modified for Docs Editors files.
       &quot;published&quot;: True or False, # Whether this revision is published. This is only populated and can only be modified for Docs Editors files.
       &quot;publishedLink&quot;: &quot;A String&quot;, # A link to the published revision. This is only populated for Google Sites files.
@@ -256,7 +256,7 @@
   &quot;mimeType&quot;: &quot;A String&quot;, # The MIME type of the revision.
   &quot;modifiedDate&quot;: &quot;A String&quot;, # Last time this revision was modified (formatted RFC 3339 timestamp).
   &quot;originalFilename&quot;: &quot;A String&quot;, # The original filename when this revision was created. This will only be populated on files with content stored in Drive.
-  &quot;pinned&quot;: True or False, # Whether this revision is pinned to prevent automatic purging. This will only be populated and can only be modified on files with content stored in Drive, excluding Docs Editors files. Revisions can also be pinned when they are created through the drive.files.insert/update/copy by using the pinned query parameter. Pinned revisions are stored indefinitely using additional storage quota, up to a maximum of 200 revisions.
+  &quot;pinned&quot;: True or False, # Whether this revision is pinned to prevent automatic purging. If not set, the revision is automatically purged 30 days after newer content is uploaded. This field can only be modified on files with content stored in Drive, excluding Docs Editors files. Revisions can also be pinned when they are created through the drive.files.insert/update/copy by using the pinned query parameter. Pinned revisions are stored indefinitely using additional storage quota, up to a maximum of 200 revisions.
   &quot;publishAuto&quot;: True or False, # Whether subsequent revisions will be automatically republished. This is only populated and can only be modified for Docs Editors files.
   &quot;published&quot;: True or False, # Whether this revision is published. This is only populated and can only be modified for Docs Editors files.
   &quot;publishedLink&quot;: &quot;A String&quot;, # A link to the published revision. This is only populated for Google Sites files.
@@ -292,7 +292,7 @@
   &quot;mimeType&quot;: &quot;A String&quot;, # The MIME type of the revision.
   &quot;modifiedDate&quot;: &quot;A String&quot;, # Last time this revision was modified (formatted RFC 3339 timestamp).
   &quot;originalFilename&quot;: &quot;A String&quot;, # The original filename when this revision was created. This will only be populated on files with content stored in Drive.
-  &quot;pinned&quot;: True or False, # Whether this revision is pinned to prevent automatic purging. This will only be populated and can only be modified on files with content stored in Drive, excluding Docs Editors files. Revisions can also be pinned when they are created through the drive.files.insert/update/copy by using the pinned query parameter. Pinned revisions are stored indefinitely using additional storage quota, up to a maximum of 200 revisions.
+  &quot;pinned&quot;: True or False, # Whether this revision is pinned to prevent automatic purging. If not set, the revision is automatically purged 30 days after newer content is uploaded. This field can only be modified on files with content stored in Drive, excluding Docs Editors files. Revisions can also be pinned when they are created through the drive.files.insert/update/copy by using the pinned query parameter. Pinned revisions are stored indefinitely using additional storage quota, up to a maximum of 200 revisions.
   &quot;publishAuto&quot;: True or False, # Whether subsequent revisions will be automatically republished. This is only populated and can only be modified for Docs Editors files.
   &quot;published&quot;: True or False, # Whether this revision is published. This is only populated and can only be modified for Docs Editors files.
   &quot;publishedLink&quot;: &quot;A String&quot;, # A link to the published revision. This is only populated for Google Sites files.
@@ -335,7 +335,7 @@
   &quot;mimeType&quot;: &quot;A String&quot;, # The MIME type of the revision.
   &quot;modifiedDate&quot;: &quot;A String&quot;, # Last time this revision was modified (formatted RFC 3339 timestamp).
   &quot;originalFilename&quot;: &quot;A String&quot;, # The original filename when this revision was created. This will only be populated on files with content stored in Drive.
-  &quot;pinned&quot;: True or False, # Whether this revision is pinned to prevent automatic purging. This will only be populated and can only be modified on files with content stored in Drive, excluding Docs Editors files. Revisions can also be pinned when they are created through the drive.files.insert/update/copy by using the pinned query parameter. Pinned revisions are stored indefinitely using additional storage quota, up to a maximum of 200 revisions.
+  &quot;pinned&quot;: True or False, # Whether this revision is pinned to prevent automatic purging. If not set, the revision is automatically purged 30 days after newer content is uploaded. This field can only be modified on files with content stored in Drive, excluding Docs Editors files. Revisions can also be pinned when they are created through the drive.files.insert/update/copy by using the pinned query parameter. Pinned revisions are stored indefinitely using additional storage quota, up to a maximum of 200 revisions.
   &quot;publishAuto&quot;: True or False, # Whether subsequent revisions will be automatically republished. This is only populated and can only be modified for Docs Editors files.
   &quot;published&quot;: True or False, # Whether this revision is published. This is only populated and can only be modified for Docs Editors files.
   &quot;publishedLink&quot;: &quot;A String&quot;, # A link to the published revision. This is only populated for Google Sites files.
@@ -371,7 +371,7 @@
   &quot;mimeType&quot;: &quot;A String&quot;, # The MIME type of the revision.
   &quot;modifiedDate&quot;: &quot;A String&quot;, # Last time this revision was modified (formatted RFC 3339 timestamp).
   &quot;originalFilename&quot;: &quot;A String&quot;, # The original filename when this revision was created. This will only be populated on files with content stored in Drive.
-  &quot;pinned&quot;: True or False, # Whether this revision is pinned to prevent automatic purging. This will only be populated and can only be modified on files with content stored in Drive, excluding Docs Editors files. Revisions can also be pinned when they are created through the drive.files.insert/update/copy by using the pinned query parameter. Pinned revisions are stored indefinitely using additional storage quota, up to a maximum of 200 revisions.
+  &quot;pinned&quot;: True or False, # Whether this revision is pinned to prevent automatic purging. If not set, the revision is automatically purged 30 days after newer content is uploaded. This field can only be modified on files with content stored in Drive, excluding Docs Editors files. Revisions can also be pinned when they are created through the drive.files.insert/update/copy by using the pinned query parameter. Pinned revisions are stored indefinitely using additional storage quota, up to a maximum of 200 revisions.
   &quot;publishAuto&quot;: True or False, # Whether subsequent revisions will be automatically republished. This is only populated and can only be modified for Docs Editors files.
   &quot;published&quot;: True or False, # Whether this revision is published. This is only populated and can only be modified for Docs Editors files.
   &quot;publishedLink&quot;: &quot;A String&quot;, # A link to the published revision. This is only populated for Google Sites files.
diff --git a/docs/dyn/drive_v3.files.html b/docs/dyn/drive_v3.files.html
index d5c72d2..1f58444 100644
--- a/docs/dyn/drive_v3.files.html
+++ b/docs/dyn/drive_v3.files.html
@@ -96,7 +96,7 @@
   <code><a href="#export_media">export_media(fileId, mimeType)</a></code></p>
 <p class="firstline">Exports a Google Doc to the requested MIME type and returns the exported content. Please note that the exported content is limited to 10MB.</p>
 <p class="toc_element">
-  <code><a href="#generateIds">generateIds(count=None, space=None)</a></code></p>
+  <code><a href="#generateIds">generateIds(count=None, space=None, type=None)</a></code></p>
 <p class="firstline">Generates a set of file IDs which can be provided in create or copy requests.</p>
 <p class="toc_element">
   <code><a href="#get">get(fileId, acknowledgeAbuse=None, includePermissionsForView=None, supportsAllDrives=None, supportsTeamDrives=None)</a></code></p>
@@ -1227,12 +1227,13 @@
 </div>
 
 <div class="method">
-    <code class="details" id="generateIds">generateIds(count=None, space=None)</code>
+    <code class="details" id="generateIds">generateIds(count=None, space=None, type=None)</code>
   <pre>Generates a set of file IDs which can be provided in create or copy requests.
 
 Args:
   count: integer, The number of IDs to return.
-  space: string, The space in which the IDs can be used to create new files. Supported values are &#x27;drive&#x27; and &#x27;appDataFolder&#x27;.
+  space: string, The space in which the IDs can be used to create new files. Supported values are &#x27;drive&#x27; and &#x27;appDataFolder&#x27;. (Default: &#x27;drive&#x27;)
+  type: string, The type of items which the IDs can be used for. Supported values are &#x27;files&#x27; and &#x27;shortcuts&#x27;. Note that &#x27;shortcuts&#x27; are only supported in the drive &#x27;space&#x27;. (Default: &#x27;files&#x27;)
 
 Returns:
   An object of the form:
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/genomics_v1.html b/docs/dyn/genomics_v1.html
index e9bed7b..fd851d5 100644
--- a/docs/dyn/genomics_v1.html
+++ b/docs/dyn/genomics_v1.html
@@ -75,11 +75,6 @@
 <h1><a href="genomics_v1.html">Genomics API</a></h1>
 <h2>Instance Methods</h2>
 <p class="toc_element">
-  <code><a href="genomics_v1.operations.html">operations()</a></code>
-</p>
-<p class="firstline">Returns the operations Resource.</p>
-
-<p class="toc_element">
   <code><a href="#close">close()</a></code></p>
 <p class="firstline">Close httplib2 connections.</p>
 <p class="toc_element">
diff --git a/docs/dyn/genomics_v2alpha1.projects.operations.html b/docs/dyn/genomics_v2alpha1.projects.operations.html
index ffbb1c5..b8158e7 100644
--- a/docs/dyn/genomics_v2alpha1.projects.operations.html
+++ b/docs/dyn/genomics_v2alpha1.projects.operations.html
@@ -160,7 +160,7 @@
 
 Args:
   name: string, The name of the operation&#x27;s parent resource. (required)
-  filter: string, A string for filtering Operations. In v2alpha1, the following filter fields are supported: * createTime: The time this job was created * events: The set of event (names) that have occurred while running the pipeline. The : operator can be used to determine if a particular event has occurred. * error: If the pipeline is running, this value is NULL. Once the pipeline finishes, the value is the standard Google error code. * labels.key or labels.&quot;key with space&quot; where key is a label key. * done: If the pipeline is running, this value is false. Once the pipeline finishes, the value is true. In v1 and v1alpha2, the following filter fields are supported: * projectId: Required. Corresponds to OperationMetadata.projectId. * createTime: The time this job was created, in seconds from the [epoch](http://en.wikipedia.org/wiki/Unix_time). Can use `&gt;=` and/or `&lt;=` operators. * status: Can be `RUNNING`, `SUCCESS`, `FAILURE`, or `CANCELED`. Only one status may be specified. * labels.key where key is a label key. Examples: * `projectId = my-project AND createTime &gt;= 1432140000` * `projectId = my-project AND createTime &gt;= 1432140000 AND createTime &lt;= 1432150000 AND status = RUNNING` * `projectId = my-project AND labels.color = *` * `projectId = my-project AND labels.color = red`
+  filter: string, A string for filtering Operations. In v2alpha1, the following filter fields are supported: * createTime: The time this job was created * events: The set of event (names) that have occurred while running the pipeline. The : operator can be used to determine if a particular event has occurred. * error: If the pipeline is running, this value is NULL. Once the pipeline finishes, the value is the standard Google error code. * labels.key or labels.&quot;key with space&quot; where key is a label key. * done: If the pipeline is running, this value is false. Once the pipeline finishes, the value is true. Examples: * `projectId = my-project AND createTime &gt;= 1432140000` * `projectId = my-project AND createTime &gt;= 1432140000 AND createTime &lt;= 1432150000 AND status = RUNNING` * `projectId = my-project AND labels.color = *` * `projectId = my-project AND labels.color = red`
   pageSize: integer, The maximum number of results to return. The maximum value is 256.
   pageToken: string, The standard list page token.
   x__xgafv: string, V1 error format.
diff --git a/docs/dyn/gkehub_v1.projects.locations.memberships.html b/docs/dyn/gkehub_v1.projects.locations.memberships.html
index 2246862..28f5393 100644
--- a/docs/dyn/gkehub_v1.projects.locations.memberships.html
+++ b/docs/dyn/gkehub_v1.projects.locations.memberships.html
@@ -79,13 +79,13 @@
 <p class="firstline">Close httplib2 connections.</p>
 <p class="toc_element">
   <code><a href="#create">create(parent, body=None, membershipId=None, requestId=None, x__xgafv=None)</a></code></p>
-<p class="firstline">Adds a new Membership.</p>
+<p class="firstline">Creates a new Membership. **This is currently only supported for GKE clusters on Google Cloud**. To register other clusters, follow the instructions at https://cloud.google.com/anthos/multicluster-management/connect/registering-a-cluster.</p>
 <p class="toc_element">
   <code><a href="#delete">delete(name, requestId=None, x__xgafv=None)</a></code></p>
-<p class="firstline">Removes a Membership.</p>
+<p class="firstline">Removes a Membership. **This is currently only supported for GKE clusters on Google Cloud**. To unregister other clusters, follow the instructions at https://cloud.google.com/anthos/multicluster-management/connect/unregistering-a-cluster.</p>
 <p class="toc_element">
   <code><a href="#generateConnectManifest">generateConnectManifest(name, imagePullSecretContent=None, isUpgrade=None, namespace=None, proxy=None, registry=None, version=None, x__xgafv=None)</a></code></p>
-<p class="firstline">Generates the manifest for deployment of the GKE connect agent.</p>
+<p class="firstline">Generates the manifest for deployment of the GKE connect agent. **This method is used internally by Google-provided libraries.** Most clients should not need to call this method directly.</p>
 <p class="toc_element">
   <code><a href="#get">get(name, x__xgafv=None)</a></code></p>
 <p class="firstline">Gets the details of a Membership.</p>
@@ -115,7 +115,7 @@
 
 <div class="method">
     <code class="details" id="create">create(parent, body=None, membershipId=None, requestId=None, x__xgafv=None)</code>
-  <pre>Adds a new Membership.
+  <pre>Creates a new Membership. **This is currently only supported for GKE clusters on Google Cloud**. To register other clusters, follow the instructions at https://cloud.google.com/anthos/multicluster-management/connect/registering-a-cluster.
 
 Args:
   parent: string, Required. The parent (project and location) where the Memberships will be created. Specified in the format `projects/*/locations/*`. (required)
@@ -190,7 +190,7 @@
 
 <div class="method">
     <code class="details" id="delete">delete(name, requestId=None, x__xgafv=None)</code>
-  <pre>Removes a Membership.
+  <pre>Removes a Membership. **This is currently only supported for GKE clusters on Google Cloud**. To unregister other clusters, follow the instructions at https://cloud.google.com/anthos/multicluster-management/connect/unregistering-a-cluster.
 
 Args:
   name: string, Required. The Membership resource name in the format `projects/*/locations/*/memberships/*`. (required)
@@ -226,7 +226,7 @@
 
 <div class="method">
     <code class="details" id="generateConnectManifest">generateConnectManifest(name, imagePullSecretContent=None, isUpgrade=None, namespace=None, proxy=None, registry=None, version=None, x__xgafv=None)</code>
-  <pre>Generates the manifest for deployment of the GKE connect agent.
+  <pre>Generates the manifest for deployment of the GKE connect agent. **This method is used internally by Google-provided libraries.** Most clients should not need to call this method directly.
 
 Args:
   name: string, Required. The Membership resource name the Agent will associate with, in the format `projects/*/locations/*/memberships/*`. (required)
diff --git a/docs/dyn/gkehub_v1alpha.projects.locations.features.html b/docs/dyn/gkehub_v1alpha.projects.locations.features.html
index fa21e4c..625898e 100644
--- a/docs/dyn/gkehub_v1alpha.projects.locations.features.html
+++ b/docs/dyn/gkehub_v1alpha.projects.locations.features.html
@@ -127,7 +127,7 @@
   },
   &quot;membershipSpecs&quot;: { # Optional. Membership-specific configuration for this Feature. If this Feature does not support any per-Membership configuration, this field may be unused. The keys indicate which Membership the configuration is for, in the form: projects/{p}/locations/{l}/memberships/{m} Where {p} is the project, {l} is a valid location and {m} is a valid Membership in this project at that location. {p} WILL match the Feature&#x27;s project. {p} will always be returned as the project number, but the project ID is also accepted during input. If the same Membership is specified in the map twice (using the project ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it is recommended the same format be used for all entries when mutating a Feature.
     &quot;a_key&quot;: { # MembershipFeatureSpec contains configuration information for a single Membership.
-      &quot;configmanagement&quot;: { # Configuration for a single cluster. Intended to parallel the ConfigManagement CR. # Config Management-specific spec.
+      &quot;configmanagement&quot;: { # **Anthos Config Management**: Configuration for a single cluster. Intended to parallel the ConfigManagement CR. # Config Management-specific spec.
         &quot;binauthz&quot;: { # Configuration for Binauthz # Binauthz conifguration for the cluster.
           &quot;enabled&quot;: True or False, # Whether binauthz is enabled in this cluster.
         },
@@ -165,7 +165,7 @@
   },
   &quot;membershipStates&quot;: { # Output only. Membership-specific Feature status. If this Feature does report any per-Membership status, this field may be unused. The keys indicate which Membership the state is for, in the form: projects/{p}/locations/{l}/memberships/{m} Where {p} is the project number, {l} is a valid location and {m} is a valid Membership in this project at that location. {p} MUST match the Feature&#x27;s project number.
     &quot;a_key&quot;: { # MembershipFeatureState contains Feature status information for a single Membership.
-      &quot;configmanagement&quot;: { # State for Anthos Config Management # Config Management-specific state.
+      &quot;configmanagement&quot;: { # **Anthos Config Management**: State for a single cluster. # Config Management-specific state.
         &quot;binauthzState&quot;: { # State for Binauthz # Binauthz status
           &quot;version&quot;: { # The version of binauthz. # The version of binauthz that is installed.
             &quot;webhookVersion&quot;: &quot;A String&quot;, # The version of the binauthz webhook.
@@ -227,7 +227,7 @@
             &quot;hnc&quot;: &quot;A String&quot;, # Version for open source HNC
           },
         },
-        &quot;membershipSpec&quot;: { # Configuration for a single cluster. Intended to parallel the ConfigManagement CR. # Membership configuration in the cluster. This represents the actual state in the cluster, while the MembershipSpec in the FeatureSpec represents the intended state
+        &quot;membershipSpec&quot;: { # **Anthos Config Management**: Configuration for a single cluster. Intended to parallel the ConfigManagement CR. # Membership configuration in the cluster. This represents the actual state in the cluster, while the MembershipSpec in the FeatureSpec represents the intended state
           &quot;binauthz&quot;: { # Configuration for Binauthz # Binauthz conifguration for the cluster.
             &quot;enabled&quot;: True or False, # Whether binauthz is enabled in this cluster.
           },
@@ -280,11 +280,11 @@
           },
         },
       },
-      &quot;metering&quot;: { # Metering per-Membership Feature State. # Metering-specific spec.
+      &quot;metering&quot;: { # **Metering**: Per-Membership Feature State. # Metering-specific spec.
         &quot;lastMeasurementTime&quot;: &quot;A String&quot;, # The time stamp of the most recent measurement of the number of vCPUs in the cluster.
         &quot;preciseLastMeasuredClusterVcpuCapacity&quot;: 3.14, # The vCPUs capacity in the cluster according to the most recent measurement (1/1000 precision).
       },
-      &quot;servicemesh&quot;: { # MembershipState describes the state of the Service Mesh Hub Feature as analyzed by the Service Mesh Hub Controller, for single Membership. # Service Mesh-specific state.
+      &quot;servicemesh&quot;: { # **Service Mesh**: State for a single Membership, as analyzed by the Service Mesh Hub Controller. # Service Mesh-specific state.
         &quot;analysisMessages&quot;: [ # Output only. Results of running Service Mesh analyzers.
           { # AnalysisMessage is a single message produced by an analyzer, and it used to communicate to the end user about the state of their Service Mesh configuration.
             &quot;args&quot;: { # A UI can combine these args with a template (based on message_base.type) to produce an internationalized message.
@@ -317,18 +317,18 @@
     &quot;state&quot;: &quot;A String&quot;, # The current state of the Feature resource in the Hub API.
   },
   &quot;spec&quot;: { # CommonFeatureSpec contains Hub-wide configuration information # Optional. Hub-wide Feature configuration. If this Feature does not support any Hub-wide configuration, this field may be unused.
-    &quot;cloudauditlogging&quot;: { # Spec for Audit Logging Allowlisting. # Cloud Audit Logging-specific spec.
+    &quot;cloudauditlogging&quot;: { # **Cloud Audit Logging**: Spec for Audit Logging Allowlisting. # Cloud Audit Logging-specific spec.
       &quot;allowlistedServiceAccounts&quot;: [ # Service account that should be allowlisted to send the audit logs; eg cloudauditlogging@gcp-project.iam.gserviceaccount.com. These accounts must already exist, but do not need to have any permissions granted to them. The customer&#x27;s entitlements will be checked prior to allowlisting (i.e. the customer must be an Anthos customer.)
         &quot;A String&quot;,
       ],
     },
-    &quot;multiclusteringress&quot;: { # FeatureSpec contains the input for the MultiClusterIngress feature. # Multicluster Ingress-specific spec.
+    &quot;multiclusteringress&quot;: { # **Multi-cluster Ingress**: The configuration for the MultiClusterIngress feature. # Multicluster Ingress-specific spec.
       &quot;billing&quot;: &quot;A String&quot;, # Customer&#x27;s billing structure
       &quot;configMembership&quot;: &quot;A String&quot;, # Fully-qualified Membership name which hosts the MultiClusterIngress CRD. Example: `projects/foo-proj/locations/global/memberships/bar`
     },
   },
   &quot;state&quot;: { # CommonFeatureState contains Hub-wide Feature status information. # Output only. The Hub-wide Feature state.
-    &quot;servicemesh&quot;: { # FeatureState describes the state of the Service Mesh Hub Feature as analyzed by the Service Mesh Hub Controller, for the whole Hub. # Service Mesh-specific state.
+    &quot;servicemesh&quot;: { # **Service Mesh**: State for the whole Hub, as analyzed by the Service Mesh Hub Controller. # Service Mesh-specific state.
       &quot;analysisMessages&quot;: [ # Output only. Results of running Service Mesh analyzers.
         { # AnalysisMessage is a single message produced by an analyzer, and it used to communicate to the end user about the state of their Service Mesh configuration.
           &quot;args&quot;: { # A UI can combine these args with a template (based on message_base.type) to produce an internationalized message.
@@ -448,7 +448,7 @@
   },
   &quot;membershipSpecs&quot;: { # Optional. Membership-specific configuration for this Feature. If this Feature does not support any per-Membership configuration, this field may be unused. The keys indicate which Membership the configuration is for, in the form: projects/{p}/locations/{l}/memberships/{m} Where {p} is the project, {l} is a valid location and {m} is a valid Membership in this project at that location. {p} WILL match the Feature&#x27;s project. {p} will always be returned as the project number, but the project ID is also accepted during input. If the same Membership is specified in the map twice (using the project ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it is recommended the same format be used for all entries when mutating a Feature.
     &quot;a_key&quot;: { # MembershipFeatureSpec contains configuration information for a single Membership.
-      &quot;configmanagement&quot;: { # Configuration for a single cluster. Intended to parallel the ConfigManagement CR. # Config Management-specific spec.
+      &quot;configmanagement&quot;: { # **Anthos Config Management**: Configuration for a single cluster. Intended to parallel the ConfigManagement CR. # Config Management-specific spec.
         &quot;binauthz&quot;: { # Configuration for Binauthz # Binauthz conifguration for the cluster.
           &quot;enabled&quot;: True or False, # Whether binauthz is enabled in this cluster.
         },
@@ -486,7 +486,7 @@
   },
   &quot;membershipStates&quot;: { # Output only. Membership-specific Feature status. If this Feature does report any per-Membership status, this field may be unused. The keys indicate which Membership the state is for, in the form: projects/{p}/locations/{l}/memberships/{m} Where {p} is the project number, {l} is a valid location and {m} is a valid Membership in this project at that location. {p} MUST match the Feature&#x27;s project number.
     &quot;a_key&quot;: { # MembershipFeatureState contains Feature status information for a single Membership.
-      &quot;configmanagement&quot;: { # State for Anthos Config Management # Config Management-specific state.
+      &quot;configmanagement&quot;: { # **Anthos Config Management**: State for a single cluster. # Config Management-specific state.
         &quot;binauthzState&quot;: { # State for Binauthz # Binauthz status
           &quot;version&quot;: { # The version of binauthz. # The version of binauthz that is installed.
             &quot;webhookVersion&quot;: &quot;A String&quot;, # The version of the binauthz webhook.
@@ -548,7 +548,7 @@
             &quot;hnc&quot;: &quot;A String&quot;, # Version for open source HNC
           },
         },
-        &quot;membershipSpec&quot;: { # Configuration for a single cluster. Intended to parallel the ConfigManagement CR. # Membership configuration in the cluster. This represents the actual state in the cluster, while the MembershipSpec in the FeatureSpec represents the intended state
+        &quot;membershipSpec&quot;: { # **Anthos Config Management**: Configuration for a single cluster. Intended to parallel the ConfigManagement CR. # Membership configuration in the cluster. This represents the actual state in the cluster, while the MembershipSpec in the FeatureSpec represents the intended state
           &quot;binauthz&quot;: { # Configuration for Binauthz # Binauthz conifguration for the cluster.
             &quot;enabled&quot;: True or False, # Whether binauthz is enabled in this cluster.
           },
@@ -601,11 +601,11 @@
           },
         },
       },
-      &quot;metering&quot;: { # Metering per-Membership Feature State. # Metering-specific spec.
+      &quot;metering&quot;: { # **Metering**: Per-Membership Feature State. # Metering-specific spec.
         &quot;lastMeasurementTime&quot;: &quot;A String&quot;, # The time stamp of the most recent measurement of the number of vCPUs in the cluster.
         &quot;preciseLastMeasuredClusterVcpuCapacity&quot;: 3.14, # The vCPUs capacity in the cluster according to the most recent measurement (1/1000 precision).
       },
-      &quot;servicemesh&quot;: { # MembershipState describes the state of the Service Mesh Hub Feature as analyzed by the Service Mesh Hub Controller, for single Membership. # Service Mesh-specific state.
+      &quot;servicemesh&quot;: { # **Service Mesh**: State for a single Membership, as analyzed by the Service Mesh Hub Controller. # Service Mesh-specific state.
         &quot;analysisMessages&quot;: [ # Output only. Results of running Service Mesh analyzers.
           { # AnalysisMessage is a single message produced by an analyzer, and it used to communicate to the end user about the state of their Service Mesh configuration.
             &quot;args&quot;: { # A UI can combine these args with a template (based on message_base.type) to produce an internationalized message.
@@ -638,18 +638,18 @@
     &quot;state&quot;: &quot;A String&quot;, # The current state of the Feature resource in the Hub API.
   },
   &quot;spec&quot;: { # CommonFeatureSpec contains Hub-wide configuration information # Optional. Hub-wide Feature configuration. If this Feature does not support any Hub-wide configuration, this field may be unused.
-    &quot;cloudauditlogging&quot;: { # Spec for Audit Logging Allowlisting. # Cloud Audit Logging-specific spec.
+    &quot;cloudauditlogging&quot;: { # **Cloud Audit Logging**: Spec for Audit Logging Allowlisting. # Cloud Audit Logging-specific spec.
       &quot;allowlistedServiceAccounts&quot;: [ # Service account that should be allowlisted to send the audit logs; eg cloudauditlogging@gcp-project.iam.gserviceaccount.com. These accounts must already exist, but do not need to have any permissions granted to them. The customer&#x27;s entitlements will be checked prior to allowlisting (i.e. the customer must be an Anthos customer.)
         &quot;A String&quot;,
       ],
     },
-    &quot;multiclusteringress&quot;: { # FeatureSpec contains the input for the MultiClusterIngress feature. # Multicluster Ingress-specific spec.
+    &quot;multiclusteringress&quot;: { # **Multi-cluster Ingress**: The configuration for the MultiClusterIngress feature. # Multicluster Ingress-specific spec.
       &quot;billing&quot;: &quot;A String&quot;, # Customer&#x27;s billing structure
       &quot;configMembership&quot;: &quot;A String&quot;, # Fully-qualified Membership name which hosts the MultiClusterIngress CRD. Example: `projects/foo-proj/locations/global/memberships/bar`
     },
   },
   &quot;state&quot;: { # CommonFeatureState contains Hub-wide Feature status information. # Output only. The Hub-wide Feature state.
-    &quot;servicemesh&quot;: { # FeatureState describes the state of the Service Mesh Hub Feature as analyzed by the Service Mesh Hub Controller, for the whole Hub. # Service Mesh-specific state.
+    &quot;servicemesh&quot;: { # **Service Mesh**: State for the whole Hub, as analyzed by the Service Mesh Hub Controller. # Service Mesh-specific state.
       &quot;analysisMessages&quot;: [ # Output only. Results of running Service Mesh analyzers.
         { # AnalysisMessage is a single message produced by an analyzer, and it used to communicate to the end user about the state of their Service Mesh configuration.
           &quot;args&quot;: { # A UI can combine these args with a template (based on message_base.type) to produce an internationalized message.
@@ -757,7 +757,7 @@
       },
       &quot;membershipSpecs&quot;: { # Optional. Membership-specific configuration for this Feature. If this Feature does not support any per-Membership configuration, this field may be unused. The keys indicate which Membership the configuration is for, in the form: projects/{p}/locations/{l}/memberships/{m} Where {p} is the project, {l} is a valid location and {m} is a valid Membership in this project at that location. {p} WILL match the Feature&#x27;s project. {p} will always be returned as the project number, but the project ID is also accepted during input. If the same Membership is specified in the map twice (using the project ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it is recommended the same format be used for all entries when mutating a Feature.
         &quot;a_key&quot;: { # MembershipFeatureSpec contains configuration information for a single Membership.
-          &quot;configmanagement&quot;: { # Configuration for a single cluster. Intended to parallel the ConfigManagement CR. # Config Management-specific spec.
+          &quot;configmanagement&quot;: { # **Anthos Config Management**: Configuration for a single cluster. Intended to parallel the ConfigManagement CR. # Config Management-specific spec.
             &quot;binauthz&quot;: { # Configuration for Binauthz # Binauthz conifguration for the cluster.
               &quot;enabled&quot;: True or False, # Whether binauthz is enabled in this cluster.
             },
@@ -795,7 +795,7 @@
       },
       &quot;membershipStates&quot;: { # Output only. Membership-specific Feature status. If this Feature does report any per-Membership status, this field may be unused. The keys indicate which Membership the state is for, in the form: projects/{p}/locations/{l}/memberships/{m} Where {p} is the project number, {l} is a valid location and {m} is a valid Membership in this project at that location. {p} MUST match the Feature&#x27;s project number.
         &quot;a_key&quot;: { # MembershipFeatureState contains Feature status information for a single Membership.
-          &quot;configmanagement&quot;: { # State for Anthos Config Management # Config Management-specific state.
+          &quot;configmanagement&quot;: { # **Anthos Config Management**: State for a single cluster. # Config Management-specific state.
             &quot;binauthzState&quot;: { # State for Binauthz # Binauthz status
               &quot;version&quot;: { # The version of binauthz. # The version of binauthz that is installed.
                 &quot;webhookVersion&quot;: &quot;A String&quot;, # The version of the binauthz webhook.
@@ -857,7 +857,7 @@
                 &quot;hnc&quot;: &quot;A String&quot;, # Version for open source HNC
               },
             },
-            &quot;membershipSpec&quot;: { # Configuration for a single cluster. Intended to parallel the ConfigManagement CR. # Membership configuration in the cluster. This represents the actual state in the cluster, while the MembershipSpec in the FeatureSpec represents the intended state
+            &quot;membershipSpec&quot;: { # **Anthos Config Management**: Configuration for a single cluster. Intended to parallel the ConfigManagement CR. # Membership configuration in the cluster. This represents the actual state in the cluster, while the MembershipSpec in the FeatureSpec represents the intended state
               &quot;binauthz&quot;: { # Configuration for Binauthz # Binauthz conifguration for the cluster.
                 &quot;enabled&quot;: True or False, # Whether binauthz is enabled in this cluster.
               },
@@ -910,11 +910,11 @@
               },
             },
           },
-          &quot;metering&quot;: { # Metering per-Membership Feature State. # Metering-specific spec.
+          &quot;metering&quot;: { # **Metering**: Per-Membership Feature State. # Metering-specific spec.
             &quot;lastMeasurementTime&quot;: &quot;A String&quot;, # The time stamp of the most recent measurement of the number of vCPUs in the cluster.
             &quot;preciseLastMeasuredClusterVcpuCapacity&quot;: 3.14, # The vCPUs capacity in the cluster according to the most recent measurement (1/1000 precision).
           },
-          &quot;servicemesh&quot;: { # MembershipState describes the state of the Service Mesh Hub Feature as analyzed by the Service Mesh Hub Controller, for single Membership. # Service Mesh-specific state.
+          &quot;servicemesh&quot;: { # **Service Mesh**: State for a single Membership, as analyzed by the Service Mesh Hub Controller. # Service Mesh-specific state.
             &quot;analysisMessages&quot;: [ # Output only. Results of running Service Mesh analyzers.
               { # AnalysisMessage is a single message produced by an analyzer, and it used to communicate to the end user about the state of their Service Mesh configuration.
                 &quot;args&quot;: { # A UI can combine these args with a template (based on message_base.type) to produce an internationalized message.
@@ -947,18 +947,18 @@
         &quot;state&quot;: &quot;A String&quot;, # The current state of the Feature resource in the Hub API.
       },
       &quot;spec&quot;: { # CommonFeatureSpec contains Hub-wide configuration information # Optional. Hub-wide Feature configuration. If this Feature does not support any Hub-wide configuration, this field may be unused.
-        &quot;cloudauditlogging&quot;: { # Spec for Audit Logging Allowlisting. # Cloud Audit Logging-specific spec.
+        &quot;cloudauditlogging&quot;: { # **Cloud Audit Logging**: Spec for Audit Logging Allowlisting. # Cloud Audit Logging-specific spec.
           &quot;allowlistedServiceAccounts&quot;: [ # Service account that should be allowlisted to send the audit logs; eg cloudauditlogging@gcp-project.iam.gserviceaccount.com. These accounts must already exist, but do not need to have any permissions granted to them. The customer&#x27;s entitlements will be checked prior to allowlisting (i.e. the customer must be an Anthos customer.)
             &quot;A String&quot;,
           ],
         },
-        &quot;multiclusteringress&quot;: { # FeatureSpec contains the input for the MultiClusterIngress feature. # Multicluster Ingress-specific spec.
+        &quot;multiclusteringress&quot;: { # **Multi-cluster Ingress**: The configuration for the MultiClusterIngress feature. # Multicluster Ingress-specific spec.
           &quot;billing&quot;: &quot;A String&quot;, # Customer&#x27;s billing structure
           &quot;configMembership&quot;: &quot;A String&quot;, # Fully-qualified Membership name which hosts the MultiClusterIngress CRD. Example: `projects/foo-proj/locations/global/memberships/bar`
         },
       },
       &quot;state&quot;: { # CommonFeatureState contains Hub-wide Feature status information. # Output only. The Hub-wide Feature state.
-        &quot;servicemesh&quot;: { # FeatureState describes the state of the Service Mesh Hub Feature as analyzed by the Service Mesh Hub Controller, for the whole Hub. # Service Mesh-specific state.
+        &quot;servicemesh&quot;: { # **Service Mesh**: State for the whole Hub, as analyzed by the Service Mesh Hub Controller. # Service Mesh-specific state.
           &quot;analysisMessages&quot;: [ # Output only. Results of running Service Mesh analyzers.
             { # AnalysisMessage is a single message produced by an analyzer, and it used to communicate to the end user about the state of their Service Mesh configuration.
               &quot;args&quot;: { # A UI can combine these args with a template (based on message_base.type) to produce an internationalized message.
@@ -1022,7 +1022,7 @@
   },
   &quot;membershipSpecs&quot;: { # Optional. Membership-specific configuration for this Feature. If this Feature does not support any per-Membership configuration, this field may be unused. The keys indicate which Membership the configuration is for, in the form: projects/{p}/locations/{l}/memberships/{m} Where {p} is the project, {l} is a valid location and {m} is a valid Membership in this project at that location. {p} WILL match the Feature&#x27;s project. {p} will always be returned as the project number, but the project ID is also accepted during input. If the same Membership is specified in the map twice (using the project ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it is recommended the same format be used for all entries when mutating a Feature.
     &quot;a_key&quot;: { # MembershipFeatureSpec contains configuration information for a single Membership.
-      &quot;configmanagement&quot;: { # Configuration for a single cluster. Intended to parallel the ConfigManagement CR. # Config Management-specific spec.
+      &quot;configmanagement&quot;: { # **Anthos Config Management**: Configuration for a single cluster. Intended to parallel the ConfigManagement CR. # Config Management-specific spec.
         &quot;binauthz&quot;: { # Configuration for Binauthz # Binauthz conifguration for the cluster.
           &quot;enabled&quot;: True or False, # Whether binauthz is enabled in this cluster.
         },
@@ -1060,7 +1060,7 @@
   },
   &quot;membershipStates&quot;: { # Output only. Membership-specific Feature status. If this Feature does report any per-Membership status, this field may be unused. The keys indicate which Membership the state is for, in the form: projects/{p}/locations/{l}/memberships/{m} Where {p} is the project number, {l} is a valid location and {m} is a valid Membership in this project at that location. {p} MUST match the Feature&#x27;s project number.
     &quot;a_key&quot;: { # MembershipFeatureState contains Feature status information for a single Membership.
-      &quot;configmanagement&quot;: { # State for Anthos Config Management # Config Management-specific state.
+      &quot;configmanagement&quot;: { # **Anthos Config Management**: State for a single cluster. # Config Management-specific state.
         &quot;binauthzState&quot;: { # State for Binauthz # Binauthz status
           &quot;version&quot;: { # The version of binauthz. # The version of binauthz that is installed.
             &quot;webhookVersion&quot;: &quot;A String&quot;, # The version of the binauthz webhook.
@@ -1122,7 +1122,7 @@
             &quot;hnc&quot;: &quot;A String&quot;, # Version for open source HNC
           },
         },
-        &quot;membershipSpec&quot;: { # Configuration for a single cluster. Intended to parallel the ConfigManagement CR. # Membership configuration in the cluster. This represents the actual state in the cluster, while the MembershipSpec in the FeatureSpec represents the intended state
+        &quot;membershipSpec&quot;: { # **Anthos Config Management**: Configuration for a single cluster. Intended to parallel the ConfigManagement CR. # Membership configuration in the cluster. This represents the actual state in the cluster, while the MembershipSpec in the FeatureSpec represents the intended state
           &quot;binauthz&quot;: { # Configuration for Binauthz # Binauthz conifguration for the cluster.
             &quot;enabled&quot;: True or False, # Whether binauthz is enabled in this cluster.
           },
@@ -1175,11 +1175,11 @@
           },
         },
       },
-      &quot;metering&quot;: { # Metering per-Membership Feature State. # Metering-specific spec.
+      &quot;metering&quot;: { # **Metering**: Per-Membership Feature State. # Metering-specific spec.
         &quot;lastMeasurementTime&quot;: &quot;A String&quot;, # The time stamp of the most recent measurement of the number of vCPUs in the cluster.
         &quot;preciseLastMeasuredClusterVcpuCapacity&quot;: 3.14, # The vCPUs capacity in the cluster according to the most recent measurement (1/1000 precision).
       },
-      &quot;servicemesh&quot;: { # MembershipState describes the state of the Service Mesh Hub Feature as analyzed by the Service Mesh Hub Controller, for single Membership. # Service Mesh-specific state.
+      &quot;servicemesh&quot;: { # **Service Mesh**: State for a single Membership, as analyzed by the Service Mesh Hub Controller. # Service Mesh-specific state.
         &quot;analysisMessages&quot;: [ # Output only. Results of running Service Mesh analyzers.
           { # AnalysisMessage is a single message produced by an analyzer, and it used to communicate to the end user about the state of their Service Mesh configuration.
             &quot;args&quot;: { # A UI can combine these args with a template (based on message_base.type) to produce an internationalized message.
@@ -1212,18 +1212,18 @@
     &quot;state&quot;: &quot;A String&quot;, # The current state of the Feature resource in the Hub API.
   },
   &quot;spec&quot;: { # CommonFeatureSpec contains Hub-wide configuration information # Optional. Hub-wide Feature configuration. If this Feature does not support any Hub-wide configuration, this field may be unused.
-    &quot;cloudauditlogging&quot;: { # Spec for Audit Logging Allowlisting. # Cloud Audit Logging-specific spec.
+    &quot;cloudauditlogging&quot;: { # **Cloud Audit Logging**: Spec for Audit Logging Allowlisting. # Cloud Audit Logging-specific spec.
       &quot;allowlistedServiceAccounts&quot;: [ # Service account that should be allowlisted to send the audit logs; eg cloudauditlogging@gcp-project.iam.gserviceaccount.com. These accounts must already exist, but do not need to have any permissions granted to them. The customer&#x27;s entitlements will be checked prior to allowlisting (i.e. the customer must be an Anthos customer.)
         &quot;A String&quot;,
       ],
     },
-    &quot;multiclusteringress&quot;: { # FeatureSpec contains the input for the MultiClusterIngress feature. # Multicluster Ingress-specific spec.
+    &quot;multiclusteringress&quot;: { # **Multi-cluster Ingress**: The configuration for the MultiClusterIngress feature. # Multicluster Ingress-specific spec.
       &quot;billing&quot;: &quot;A String&quot;, # Customer&#x27;s billing structure
       &quot;configMembership&quot;: &quot;A String&quot;, # Fully-qualified Membership name which hosts the MultiClusterIngress CRD. Example: `projects/foo-proj/locations/global/memberships/bar`
     },
   },
   &quot;state&quot;: { # CommonFeatureState contains Hub-wide Feature status information. # Output only. The Hub-wide Feature state.
-    &quot;servicemesh&quot;: { # FeatureState describes the state of the Service Mesh Hub Feature as analyzed by the Service Mesh Hub Controller, for the whole Hub. # Service Mesh-specific state.
+    &quot;servicemesh&quot;: { # **Service Mesh**: State for the whole Hub, as analyzed by the Service Mesh Hub Controller. # Service Mesh-specific state.
       &quot;analysisMessages&quot;: [ # Output only. Results of running Service Mesh analyzers.
         { # AnalysisMessage is a single message produced by an analyzer, and it used to communicate to the end user about the state of their Service Mesh configuration.
           &quot;args&quot;: { # A UI can combine these args with a template (based on message_base.type) to produce an internationalized message.
diff --git a/docs/dyn/gkehub_v1alpha2.projects.locations.memberships.html b/docs/dyn/gkehub_v1alpha2.projects.locations.memberships.html
index 7ab8ed2..35b3afd 100644
--- a/docs/dyn/gkehub_v1alpha2.projects.locations.memberships.html
+++ b/docs/dyn/gkehub_v1alpha2.projects.locations.memberships.html
@@ -79,13 +79,13 @@
 <p class="firstline">Close httplib2 connections.</p>
 <p class="toc_element">
   <code><a href="#create">create(parent, body=None, membershipId=None, x__xgafv=None)</a></code></p>
-<p class="firstline">Adds a new Membership.</p>
+<p class="firstline">Creates a new Membership. **This is currently only supported for GKE clusters on Google Cloud**. To register other clusters, follow the instructions at https://cloud.google.com/anthos/multicluster-management/connect/registering-a-cluster.</p>
 <p class="toc_element">
   <code><a href="#delete">delete(name, x__xgafv=None)</a></code></p>
-<p class="firstline">Removes a Membership.</p>
+<p class="firstline">Removes a Membership. **This is currently only supported for GKE clusters on Google Cloud**. To unregister other clusters, follow the instructions at https://cloud.google.com/anthos/multicluster-management/connect/unregistering-a-cluster.</p>
 <p class="toc_element">
   <code><a href="#generateConnectManifest">generateConnectManifest(name, imagePullSecretContent=None, isUpgrade=None, namespace=None, proxy=None, registry=None, version=None, x__xgafv=None)</a></code></p>
-<p class="firstline">Generates the manifest for deployment of the GKE connect agent.</p>
+<p class="firstline">Generates the manifest for deployment of the GKE connect agent. **This method is used internally by Google-provided libraries.** Most clients should not need to call this method directly.</p>
 <p class="toc_element">
   <code><a href="#get">get(name, x__xgafv=None)</a></code></p>
 <p class="firstline">Gets the details of a Membership.</p>
@@ -115,7 +115,7 @@
 
 <div class="method">
     <code class="details" id="create">create(parent, body=None, membershipId=None, x__xgafv=None)</code>
-  <pre>Adds a new Membership.
+  <pre>Creates a new Membership. **This is currently only supported for GKE clusters on Google Cloud**. To register other clusters, follow the instructions at https://cloud.google.com/anthos/multicluster-management/connect/registering-a-cluster.
 
 Args:
   parent: string, Required. The parent (project and location) where the Memberships will be created. Specified in the format `projects/*/locations/*`. (required)
@@ -210,7 +210,7 @@
 
 <div class="method">
     <code class="details" id="delete">delete(name, x__xgafv=None)</code>
-  <pre>Removes a Membership.
+  <pre>Removes a Membership. **This is currently only supported for GKE clusters on Google Cloud**. To unregister other clusters, follow the instructions at https://cloud.google.com/anthos/multicluster-management/connect/unregistering-a-cluster.
 
 Args:
   name: string, Required. The Membership resource name in the format `projects/*/locations/*/memberships/*`. (required)
@@ -245,7 +245,7 @@
 
 <div class="method">
     <code class="details" id="generateConnectManifest">generateConnectManifest(name, imagePullSecretContent=None, isUpgrade=None, namespace=None, proxy=None, registry=None, version=None, x__xgafv=None)</code>
-  <pre>Generates the manifest for deployment of the GKE connect agent.
+  <pre>Generates the manifest for deployment of the GKE connect agent. **This method is used internally by Google-provided libraries.** Most clients should not need to call this method directly.
 
 Args:
   name: string, Required. The Membership resource name the Agent will associate with, in the format `projects/*/locations/*/memberships/*`. (required)
diff --git a/docs/dyn/gkehub_v1beta.projects.locations.features.html b/docs/dyn/gkehub_v1beta.projects.locations.features.html
index f857658..0e6a958 100644
--- a/docs/dyn/gkehub_v1beta.projects.locations.features.html
+++ b/docs/dyn/gkehub_v1beta.projects.locations.features.html
@@ -127,7 +127,7 @@
   },
   &quot;membershipSpecs&quot;: { # Optional. Membership-specific configuration for this Feature. If this Feature does not support any per-Membership configuration, this field may be unused. The keys indicate which Membership the configuration is for, in the form: projects/{p}/locations/{l}/memberships/{m} Where {p} is the project, {l} is a valid location and {m} is a valid Membership in this project at that location. {p} WILL match the Feature&#x27;s project. {p} will always be returned as the project number, but the project ID is also accepted during input. If the same Membership is specified in the map twice (using the project ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it is recommended the same format be used for all entries when mutating a Feature.
     &quot;a_key&quot;: { # MembershipFeatureSpec contains configuration information for a single Membership.
-      &quot;configmanagement&quot;: { # Configuration for a single cluster. Intended to parallel the ConfigManagement CR. # Config Management-specific spec.
+      &quot;configmanagement&quot;: { # **Anthos Config Management**: Configuration for a single cluster. Intended to parallel the ConfigManagement CR. # Config Management-specific spec.
         &quot;binauthz&quot;: { # Configuration for Binauthz # Binauthz conifguration for the cluster.
           &quot;enabled&quot;: True or False, # Whether binauthz is enabled in this cluster.
         },
@@ -165,7 +165,7 @@
   },
   &quot;membershipStates&quot;: { # Output only. Membership-specific Feature status. If this Feature does report any per-Membership status, this field may be unused. The keys indicate which Membership the state is for, in the form: projects/{p}/locations/{l}/memberships/{m} Where {p} is the project number, {l} is a valid location and {m} is a valid Membership in this project at that location. {p} MUST match the Feature&#x27;s project number.
     &quot;a_key&quot;: { # MembershipFeatureState contains Feature status information for a single Membership.
-      &quot;configmanagement&quot;: { # State for Anthos Config Management # Config Management-specific state.
+      &quot;configmanagement&quot;: { # **Anthos Config Management**: State for a single cluster. # Config Management-specific state.
         &quot;binauthzState&quot;: { # State for Binauthz # Binauthz status
           &quot;version&quot;: { # The version of binauthz. # The version of binauthz that is installed.
             &quot;webhookVersion&quot;: &quot;A String&quot;, # The version of the binauthz webhook.
@@ -227,7 +227,7 @@
             &quot;hnc&quot;: &quot;A String&quot;, # Version for open source HNC
           },
         },
-        &quot;membershipSpec&quot;: { # Configuration for a single cluster. Intended to parallel the ConfigManagement CR. # Membership configuration in the cluster. This represents the actual state in the cluster, while the MembershipSpec in the FeatureSpec represents the intended state
+        &quot;membershipSpec&quot;: { # **Anthos Config Management**: Configuration for a single cluster. Intended to parallel the ConfigManagement CR. # Membership configuration in the cluster. This represents the actual state in the cluster, while the MembershipSpec in the FeatureSpec represents the intended state
           &quot;binauthz&quot;: { # Configuration for Binauthz # Binauthz conifguration for the cluster.
             &quot;enabled&quot;: True or False, # Whether binauthz is enabled in this cluster.
           },
@@ -280,7 +280,7 @@
           },
         },
       },
-      &quot;metering&quot;: { # Metering per-Membership Feature State. # Metering-specific spec.
+      &quot;metering&quot;: { # **Metering**: Per-Membership Feature State. # Metering-specific spec.
         &quot;lastMeasurementTime&quot;: &quot;A String&quot;, # The time stamp of the most recent measurement of the number of vCPUs in the cluster.
         &quot;preciseLastMeasuredClusterVcpuCapacity&quot;: 3.14, # The vCPUs capacity in the cluster according to the most recent measurement (1/1000 precision).
       },
@@ -296,7 +296,7 @@
     &quot;state&quot;: &quot;A String&quot;, # The current state of the Feature resource in the Hub API.
   },
   &quot;spec&quot;: { # CommonFeatureSpec contains Hub-wide configuration information # Optional. Hub-wide Feature configuration. If this Feature does not support any Hub-wide configuration, this field may be unused.
-    &quot;multiclusteringress&quot;: { # FeatureSpec contains the input for the MultiClusterIngress feature. # Multicluster Ingress-specific spec.
+    &quot;multiclusteringress&quot;: { # **Multi-cluster Ingress**: The configuration for the MultiClusterIngress feature. # Multicluster Ingress-specific spec.
       &quot;billing&quot;: &quot;A String&quot;, # Customer&#x27;s billing structure
       &quot;configMembership&quot;: &quot;A String&quot;, # Fully-qualified Membership name which hosts the MultiClusterIngress CRD. Example: `projects/foo-proj/locations/global/memberships/bar`
     },
@@ -401,7 +401,7 @@
   },
   &quot;membershipSpecs&quot;: { # Optional. Membership-specific configuration for this Feature. If this Feature does not support any per-Membership configuration, this field may be unused. The keys indicate which Membership the configuration is for, in the form: projects/{p}/locations/{l}/memberships/{m} Where {p} is the project, {l} is a valid location and {m} is a valid Membership in this project at that location. {p} WILL match the Feature&#x27;s project. {p} will always be returned as the project number, but the project ID is also accepted during input. If the same Membership is specified in the map twice (using the project ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it is recommended the same format be used for all entries when mutating a Feature.
     &quot;a_key&quot;: { # MembershipFeatureSpec contains configuration information for a single Membership.
-      &quot;configmanagement&quot;: { # Configuration for a single cluster. Intended to parallel the ConfigManagement CR. # Config Management-specific spec.
+      &quot;configmanagement&quot;: { # **Anthos Config Management**: Configuration for a single cluster. Intended to parallel the ConfigManagement CR. # Config Management-specific spec.
         &quot;binauthz&quot;: { # Configuration for Binauthz # Binauthz conifguration for the cluster.
           &quot;enabled&quot;: True or False, # Whether binauthz is enabled in this cluster.
         },
@@ -439,7 +439,7 @@
   },
   &quot;membershipStates&quot;: { # Output only. Membership-specific Feature status. If this Feature does report any per-Membership status, this field may be unused. The keys indicate which Membership the state is for, in the form: projects/{p}/locations/{l}/memberships/{m} Where {p} is the project number, {l} is a valid location and {m} is a valid Membership in this project at that location. {p} MUST match the Feature&#x27;s project number.
     &quot;a_key&quot;: { # MembershipFeatureState contains Feature status information for a single Membership.
-      &quot;configmanagement&quot;: { # State for Anthos Config Management # Config Management-specific state.
+      &quot;configmanagement&quot;: { # **Anthos Config Management**: State for a single cluster. # Config Management-specific state.
         &quot;binauthzState&quot;: { # State for Binauthz # Binauthz status
           &quot;version&quot;: { # The version of binauthz. # The version of binauthz that is installed.
             &quot;webhookVersion&quot;: &quot;A String&quot;, # The version of the binauthz webhook.
@@ -501,7 +501,7 @@
             &quot;hnc&quot;: &quot;A String&quot;, # Version for open source HNC
           },
         },
-        &quot;membershipSpec&quot;: { # Configuration for a single cluster. Intended to parallel the ConfigManagement CR. # Membership configuration in the cluster. This represents the actual state in the cluster, while the MembershipSpec in the FeatureSpec represents the intended state
+        &quot;membershipSpec&quot;: { # **Anthos Config Management**: Configuration for a single cluster. Intended to parallel the ConfigManagement CR. # Membership configuration in the cluster. This represents the actual state in the cluster, while the MembershipSpec in the FeatureSpec represents the intended state
           &quot;binauthz&quot;: { # Configuration for Binauthz # Binauthz conifguration for the cluster.
             &quot;enabled&quot;: True or False, # Whether binauthz is enabled in this cluster.
           },
@@ -554,7 +554,7 @@
           },
         },
       },
-      &quot;metering&quot;: { # Metering per-Membership Feature State. # Metering-specific spec.
+      &quot;metering&quot;: { # **Metering**: Per-Membership Feature State. # Metering-specific spec.
         &quot;lastMeasurementTime&quot;: &quot;A String&quot;, # The time stamp of the most recent measurement of the number of vCPUs in the cluster.
         &quot;preciseLastMeasuredClusterVcpuCapacity&quot;: 3.14, # The vCPUs capacity in the cluster according to the most recent measurement (1/1000 precision).
       },
@@ -570,7 +570,7 @@
     &quot;state&quot;: &quot;A String&quot;, # The current state of the Feature resource in the Hub API.
   },
   &quot;spec&quot;: { # CommonFeatureSpec contains Hub-wide configuration information # Optional. Hub-wide Feature configuration. If this Feature does not support any Hub-wide configuration, this field may be unused.
-    &quot;multiclusteringress&quot;: { # FeatureSpec contains the input for the MultiClusterIngress feature. # Multicluster Ingress-specific spec.
+    &quot;multiclusteringress&quot;: { # **Multi-cluster Ingress**: The configuration for the MultiClusterIngress feature. # Multicluster Ingress-specific spec.
       &quot;billing&quot;: &quot;A String&quot;, # Customer&#x27;s billing structure
       &quot;configMembership&quot;: &quot;A String&quot;, # Fully-qualified Membership name which hosts the MultiClusterIngress CRD. Example: `projects/foo-proj/locations/global/memberships/bar`
     },
@@ -663,7 +663,7 @@
       },
       &quot;membershipSpecs&quot;: { # Optional. Membership-specific configuration for this Feature. If this Feature does not support any per-Membership configuration, this field may be unused. The keys indicate which Membership the configuration is for, in the form: projects/{p}/locations/{l}/memberships/{m} Where {p} is the project, {l} is a valid location and {m} is a valid Membership in this project at that location. {p} WILL match the Feature&#x27;s project. {p} will always be returned as the project number, but the project ID is also accepted during input. If the same Membership is specified in the map twice (using the project ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it is recommended the same format be used for all entries when mutating a Feature.
         &quot;a_key&quot;: { # MembershipFeatureSpec contains configuration information for a single Membership.
-          &quot;configmanagement&quot;: { # Configuration for a single cluster. Intended to parallel the ConfigManagement CR. # Config Management-specific spec.
+          &quot;configmanagement&quot;: { # **Anthos Config Management**: Configuration for a single cluster. Intended to parallel the ConfigManagement CR. # Config Management-specific spec.
             &quot;binauthz&quot;: { # Configuration for Binauthz # Binauthz conifguration for the cluster.
               &quot;enabled&quot;: True or False, # Whether binauthz is enabled in this cluster.
             },
@@ -701,7 +701,7 @@
       },
       &quot;membershipStates&quot;: { # Output only. Membership-specific Feature status. If this Feature does report any per-Membership status, this field may be unused. The keys indicate which Membership the state is for, in the form: projects/{p}/locations/{l}/memberships/{m} Where {p} is the project number, {l} is a valid location and {m} is a valid Membership in this project at that location. {p} MUST match the Feature&#x27;s project number.
         &quot;a_key&quot;: { # MembershipFeatureState contains Feature status information for a single Membership.
-          &quot;configmanagement&quot;: { # State for Anthos Config Management # Config Management-specific state.
+          &quot;configmanagement&quot;: { # **Anthos Config Management**: State for a single cluster. # Config Management-specific state.
             &quot;binauthzState&quot;: { # State for Binauthz # Binauthz status
               &quot;version&quot;: { # The version of binauthz. # The version of binauthz that is installed.
                 &quot;webhookVersion&quot;: &quot;A String&quot;, # The version of the binauthz webhook.
@@ -763,7 +763,7 @@
                 &quot;hnc&quot;: &quot;A String&quot;, # Version for open source HNC
               },
             },
-            &quot;membershipSpec&quot;: { # Configuration for a single cluster. Intended to parallel the ConfigManagement CR. # Membership configuration in the cluster. This represents the actual state in the cluster, while the MembershipSpec in the FeatureSpec represents the intended state
+            &quot;membershipSpec&quot;: { # **Anthos Config Management**: Configuration for a single cluster. Intended to parallel the ConfigManagement CR. # Membership configuration in the cluster. This represents the actual state in the cluster, while the MembershipSpec in the FeatureSpec represents the intended state
               &quot;binauthz&quot;: { # Configuration for Binauthz # Binauthz conifguration for the cluster.
                 &quot;enabled&quot;: True or False, # Whether binauthz is enabled in this cluster.
               },
@@ -816,7 +816,7 @@
               },
             },
           },
-          &quot;metering&quot;: { # Metering per-Membership Feature State. # Metering-specific spec.
+          &quot;metering&quot;: { # **Metering**: Per-Membership Feature State. # Metering-specific spec.
             &quot;lastMeasurementTime&quot;: &quot;A String&quot;, # The time stamp of the most recent measurement of the number of vCPUs in the cluster.
             &quot;preciseLastMeasuredClusterVcpuCapacity&quot;: 3.14, # The vCPUs capacity in the cluster according to the most recent measurement (1/1000 precision).
           },
@@ -832,7 +832,7 @@
         &quot;state&quot;: &quot;A String&quot;, # The current state of the Feature resource in the Hub API.
       },
       &quot;spec&quot;: { # CommonFeatureSpec contains Hub-wide configuration information # Optional. Hub-wide Feature configuration. If this Feature does not support any Hub-wide configuration, this field may be unused.
-        &quot;multiclusteringress&quot;: { # FeatureSpec contains the input for the MultiClusterIngress feature. # Multicluster Ingress-specific spec.
+        &quot;multiclusteringress&quot;: { # **Multi-cluster Ingress**: The configuration for the MultiClusterIngress feature. # Multicluster Ingress-specific spec.
           &quot;billing&quot;: &quot;A String&quot;, # Customer&#x27;s billing structure
           &quot;configMembership&quot;: &quot;A String&quot;, # Fully-qualified Membership name which hosts the MultiClusterIngress CRD. Example: `projects/foo-proj/locations/global/memberships/bar`
         },
@@ -881,7 +881,7 @@
   },
   &quot;membershipSpecs&quot;: { # Optional. Membership-specific configuration for this Feature. If this Feature does not support any per-Membership configuration, this field may be unused. The keys indicate which Membership the configuration is for, in the form: projects/{p}/locations/{l}/memberships/{m} Where {p} is the project, {l} is a valid location and {m} is a valid Membership in this project at that location. {p} WILL match the Feature&#x27;s project. {p} will always be returned as the project number, but the project ID is also accepted during input. If the same Membership is specified in the map twice (using the project ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it is recommended the same format be used for all entries when mutating a Feature.
     &quot;a_key&quot;: { # MembershipFeatureSpec contains configuration information for a single Membership.
-      &quot;configmanagement&quot;: { # Configuration for a single cluster. Intended to parallel the ConfigManagement CR. # Config Management-specific spec.
+      &quot;configmanagement&quot;: { # **Anthos Config Management**: Configuration for a single cluster. Intended to parallel the ConfigManagement CR. # Config Management-specific spec.
         &quot;binauthz&quot;: { # Configuration for Binauthz # Binauthz conifguration for the cluster.
           &quot;enabled&quot;: True or False, # Whether binauthz is enabled in this cluster.
         },
@@ -919,7 +919,7 @@
   },
   &quot;membershipStates&quot;: { # Output only. Membership-specific Feature status. If this Feature does report any per-Membership status, this field may be unused. The keys indicate which Membership the state is for, in the form: projects/{p}/locations/{l}/memberships/{m} Where {p} is the project number, {l} is a valid location and {m} is a valid Membership in this project at that location. {p} MUST match the Feature&#x27;s project number.
     &quot;a_key&quot;: { # MembershipFeatureState contains Feature status information for a single Membership.
-      &quot;configmanagement&quot;: { # State for Anthos Config Management # Config Management-specific state.
+      &quot;configmanagement&quot;: { # **Anthos Config Management**: State for a single cluster. # Config Management-specific state.
         &quot;binauthzState&quot;: { # State for Binauthz # Binauthz status
           &quot;version&quot;: { # The version of binauthz. # The version of binauthz that is installed.
             &quot;webhookVersion&quot;: &quot;A String&quot;, # The version of the binauthz webhook.
@@ -981,7 +981,7 @@
             &quot;hnc&quot;: &quot;A String&quot;, # Version for open source HNC
           },
         },
-        &quot;membershipSpec&quot;: { # Configuration for a single cluster. Intended to parallel the ConfigManagement CR. # Membership configuration in the cluster. This represents the actual state in the cluster, while the MembershipSpec in the FeatureSpec represents the intended state
+        &quot;membershipSpec&quot;: { # **Anthos Config Management**: Configuration for a single cluster. Intended to parallel the ConfigManagement CR. # Membership configuration in the cluster. This represents the actual state in the cluster, while the MembershipSpec in the FeatureSpec represents the intended state
           &quot;binauthz&quot;: { # Configuration for Binauthz # Binauthz conifguration for the cluster.
             &quot;enabled&quot;: True or False, # Whether binauthz is enabled in this cluster.
           },
@@ -1034,7 +1034,7 @@
           },
         },
       },
-      &quot;metering&quot;: { # Metering per-Membership Feature State. # Metering-specific spec.
+      &quot;metering&quot;: { # **Metering**: Per-Membership Feature State. # Metering-specific spec.
         &quot;lastMeasurementTime&quot;: &quot;A String&quot;, # The time stamp of the most recent measurement of the number of vCPUs in the cluster.
         &quot;preciseLastMeasuredClusterVcpuCapacity&quot;: 3.14, # The vCPUs capacity in the cluster according to the most recent measurement (1/1000 precision).
       },
@@ -1050,7 +1050,7 @@
     &quot;state&quot;: &quot;A String&quot;, # The current state of the Feature resource in the Hub API.
   },
   &quot;spec&quot;: { # CommonFeatureSpec contains Hub-wide configuration information # Optional. Hub-wide Feature configuration. If this Feature does not support any Hub-wide configuration, this field may be unused.
-    &quot;multiclusteringress&quot;: { # FeatureSpec contains the input for the MultiClusterIngress feature. # Multicluster Ingress-specific spec.
+    &quot;multiclusteringress&quot;: { # **Multi-cluster Ingress**: The configuration for the MultiClusterIngress feature. # Multicluster Ingress-specific spec.
       &quot;billing&quot;: &quot;A String&quot;, # Customer&#x27;s billing structure
       &quot;configMembership&quot;: &quot;A String&quot;, # Fully-qualified Membership name which hosts the MultiClusterIngress CRD. Example: `projects/foo-proj/locations/global/memberships/bar`
     },
diff --git a/docs/dyn/gkehub_v1beta1.projects.locations.memberships.html b/docs/dyn/gkehub_v1beta1.projects.locations.memberships.html
index 2dcf503..d40dbed 100644
--- a/docs/dyn/gkehub_v1beta1.projects.locations.memberships.html
+++ b/docs/dyn/gkehub_v1beta1.projects.locations.memberships.html
@@ -79,13 +79,13 @@
 <p class="firstline">Close httplib2 connections.</p>
 <p class="toc_element">
   <code><a href="#create">create(parent, body=None, membershipId=None, requestId=None, x__xgafv=None)</a></code></p>
-<p class="firstline">Adds a new Membership.</p>
+<p class="firstline">Creates a new Membership. **This is currently only supported for GKE clusters on Google Cloud**. To register other clusters, follow the instructions at https://cloud.google.com/anthos/multicluster-management/connect/registering-a-cluster.</p>
 <p class="toc_element">
   <code><a href="#delete">delete(name, requestId=None, x__xgafv=None)</a></code></p>
-<p class="firstline">Removes a Membership.</p>
+<p class="firstline">Removes a Membership. **This is currently only supported for GKE clusters on Google Cloud**. To unregister other clusters, follow the instructions at https://cloud.google.com/anthos/multicluster-management/connect/unregistering-a-cluster.</p>
 <p class="toc_element">
   <code><a href="#generateConnectManifest">generateConnectManifest(name, connectAgent_name=None, connectAgent_namespace=None, connectAgent_proxy=None, imagePullSecretContent=None, isUpgrade=None, registry=None, version=None, x__xgafv=None)</a></code></p>
-<p class="firstline">Generates the manifest for deployment of the GKE connect agent.</p>
+<p class="firstline">Generates the manifest for deployment of the GKE connect agent. **This method is used internally by Google-provided libraries.** Most clients should not need to call this method directly.</p>
 <p class="toc_element">
   <code><a href="#generateExclusivityManifest">generateExclusivityManifest(name, crManifest=None, crdManifest=None, x__xgafv=None)</a></code></p>
 <p class="firstline">GenerateExclusivityManifest generates the manifests to update the exclusivity artifacts in the cluster if needed. Exclusivity artifacts include the Membership custom resource definition (CRD) and the singleton Membership custom resource (CR). Combined with ValidateExclusivity, exclusivity artifacts guarantee that a Kubernetes cluster is only registered to a single GKE Hub. The Membership CRD is versioned, and may require conversion when the GKE Hub API server begins serving a newer version of the CRD and corresponding CR. The response will be the converted CRD and CR if there are any differences between the versions.</p>
@@ -121,7 +121,7 @@
 
 <div class="method">
     <code class="details" id="create">create(parent, body=None, membershipId=None, requestId=None, x__xgafv=None)</code>
-  <pre>Adds a new Membership.
+  <pre>Creates a new Membership. **This is currently only supported for GKE clusters on Google Cloud**. To register other clusters, follow the instructions at https://cloud.google.com/anthos/multicluster-management/connect/registering-a-cluster.
 
 Args:
   parent: string, Required. The parent (project and location) where the Memberships will be created. Specified in the format `projects/*/locations/*`. (required)
@@ -219,7 +219,7 @@
 
 <div class="method">
     <code class="details" id="delete">delete(name, requestId=None, x__xgafv=None)</code>
-  <pre>Removes a Membership.
+  <pre>Removes a Membership. **This is currently only supported for GKE clusters on Google Cloud**. To unregister other clusters, follow the instructions at https://cloud.google.com/anthos/multicluster-management/connect/unregistering-a-cluster.
 
 Args:
   name: string, Required. The Membership resource name in the format `projects/*/locations/*/memberships/*`. (required)
@@ -255,7 +255,7 @@
 
 <div class="method">
     <code class="details" id="generateConnectManifest">generateConnectManifest(name, connectAgent_name=None, connectAgent_namespace=None, connectAgent_proxy=None, imagePullSecretContent=None, isUpgrade=None, registry=None, version=None, x__xgafv=None)</code>
-  <pre>Generates the manifest for deployment of the GKE connect agent.
+  <pre>Generates the manifest for deployment of the GKE connect agent. **This method is used internally by Google-provided libraries.** Most clients should not need to call this method directly.
 
 Args:
   name: string, Required. The Membership resource name the Agent will associate with, in the format `projects/*/locations/*/memberships/*`. (required)
diff --git a/docs/dyn/index.md b/docs/dyn/index.md
index e9c5b04..8c3ccba 100644
--- a/docs/dyn/index.md
+++ b/docs/dyn/index.md
@@ -727,6 +727,10 @@
 * [v1alpha](http://googleapis.github.io/google-api-python-client/docs/dyn/realtimebidding_v1alpha.html)
 
 
+## recaptchaenterprise
+* [v1](http://googleapis.github.io/google-api-python-client/docs/dyn/recaptchaenterprise_v1.html)
+
+
 ## recommendationengine
 * [v1beta1](http://googleapis.github.io/google-api-python-client/docs/dyn/recommendationengine_v1beta1.html)
 
diff --git a/docs/dyn/logging_v2.billingAccounts.logs.html b/docs/dyn/logging_v2.billingAccounts.logs.html
index 447deb5..540a62c 100644
--- a/docs/dyn/logging_v2.billingAccounts.logs.html
+++ b/docs/dyn/logging_v2.billingAccounts.logs.html
@@ -97,7 +97,7 @@
   <pre>Deletes all the log entries in a log for the _Default Log Bucket. The log reappears if it receives new entries. Log entries written shortly before the delete operation might not be deleted. Entries received after the delete operation with a timestamp before the operation will be deleted.
 
 Args:
-  logName: string, Required. The resource name of the log to delete: projects/[PROJECT_ID]/logs/[LOG_ID] organizations/[ORGANIZATION_ID]/logs/[LOG_ID] billingAccounts/[BILLING_ACCOUNT_ID]/logs/[LOG_ID] folders/[FOLDER_ID]/logs/[LOG_ID][LOG_ID] must be URL-encoded. For example, &quot;projects/my-project-id/logs/syslog&quot;.For more information about log names, see LogEntry. (required)
+  logName: string, Required. The resource name of the log to delete: projects/[PROJECT_ID]/logs/[LOG_ID] organizations/[ORGANIZATION_ID]/logs/[LOG_ID] billingAccounts/[BILLING_ACCOUNT_ID]/logs/[LOG_ID] folders/[FOLDER_ID]/logs/[LOG_ID][LOG_ID] must be URL-encoded. For example, &quot;projects/my-project-id/logs/syslog&quot;, &quot;organizations/123/logs/cloudaudit.googleapis.com%2Factivity&quot;.For more information about log names, see LogEntry. (required)
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
diff --git a/docs/dyn/logging_v2.entries.html b/docs/dyn/logging_v2.entries.html
index 820e77f..251d06d 100644
--- a/docs/dyn/logging_v2.entries.html
+++ b/docs/dyn/logging_v2.entries.html
@@ -148,11 +148,11 @@
       &quot;jsonPayload&quot;: { # The log entry payload, represented as a structure that is expressed as a JSON object.
         &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
       },
-      &quot;labels&quot;: { # Optional. A set of user-defined (key, value) data that provides additional information about the log entry.Cloud Logging truncates label keys that exceed 512 B and label values that exceed 64 KB upon their associated log entry being written. The truncation is indicated by an ellipsis at the end of the character string.
+      &quot;labels&quot;: { # Optional. A map of key, value pairs that provides additional information about the log entry. The labels can be user-defined or system-defined.User-defined labels are arbitrary key, value pairs that you can use to classify logs.System-defined labels are defined by GCP services for platform logs. They have two components - a service namespace component and the attribute name. For example: compute.googleapis.com/resource_name.Cloud Logging truncates label keys that exceed 512 B and label values that exceed 64 KB upon their associated log entry being written. The truncation is indicated by an ellipsis at the end of the character string.
         &quot;a_key&quot;: &quot;A String&quot;,
       },
-      &quot;logName&quot;: &quot;A String&quot;, # Required. The resource name of the log to which this log entry belongs: &quot;projects/[PROJECT_ID]/logs/[LOG_ID]&quot; &quot;organizations/[ORGANIZATION_ID]/logs/[LOG_ID]&quot; &quot;billingAccounts/[BILLING_ACCOUNT_ID]/logs/[LOG_ID]&quot; &quot;folders/[FOLDER_ID]/logs/[LOG_ID]&quot; A project number may be used in place of PROJECT_ID. The project number is translated to its corresponding PROJECT_ID internally and the log_name field will contain PROJECT_ID in queries and exports.[LOG_ID] must be URL-encoded within log_name. Example: &quot;organizations/1234567890/logs/cloudresourcemanager.googleapis.com%2Factivity&quot;. [LOG_ID] must be less than 512 characters long and can only include the following characters: upper and lower case alphanumeric characters, forward-slash, underscore, hyphen, and period.For backward compatibility, if log_name begins with a forward-slash, such as /projects/..., then the log entry is ingested as usual but the forward-slash is removed. Listing the log entry will not show the leading slash and filtering for a log name with a leading slash will never return any results.
-      &quot;metadata&quot;: { # Auxiliary metadata for a MonitoredResource object. MonitoredResource objects contain the minimum set of information to uniquely identify a monitored resource instance. There is some other useful auxiliary metadata. Monitoring and Logging use an ingestion pipeline to extract metadata for cloud resources of all types, and store the metadata in this message. # Output only. Deprecated. Additional metadata about the monitored resource.Only k8s_container, k8s_pod, and k8s_node MonitoredResources have this field populated for GKE versions older than 1.12.6. For GKE versions 1.12.6 and above, the metadata field has been deprecated. The Kubernetes pod labels that used to be in metadata.userLabels will now be present in the labels field with a key prefix of k8s-pod/. The system labels that were present in the metadata.systemLabels field will no longer be available in the log entry.
+      &quot;logName&quot;: &quot;A String&quot;, # Required. The resource name of the log to which this log entry belongs: &quot;projects/[PROJECT_ID]/logs/[LOG_ID]&quot; &quot;organizations/[ORGANIZATION_ID]/logs/[LOG_ID]&quot; &quot;billingAccounts/[BILLING_ACCOUNT_ID]/logs/[LOG_ID]&quot; &quot;folders/[FOLDER_ID]/logs/[LOG_ID]&quot; A project number may be used in place of PROJECT_ID. The project number is translated to its corresponding PROJECT_ID internally and the log_name field will contain PROJECT_ID in queries and exports.[LOG_ID] must be URL-encoded within log_name. Example: &quot;organizations/1234567890/logs/cloudresourcemanager.googleapis.com%2Factivity&quot;.[LOG_ID] must be less than 512 characters long and can only include the following characters: upper and lower case alphanumeric characters, forward-slash, underscore, hyphen, and period.For backward compatibility, if log_name begins with a forward-slash, such as /projects/..., then the log entry is ingested as usual, but the forward-slash is removed. Listing the log entry will not show the leading slash and filtering for a log name with a leading slash will never return any results.
+      &quot;metadata&quot;: { # Auxiliary metadata for a MonitoredResource object. MonitoredResource objects contain the minimum set of information to uniquely identify a monitored resource instance. There is some other useful auxiliary metadata. Monitoring and Logging use an ingestion pipeline to extract metadata for cloud resources of all types, and store the metadata in this message. # Output only. Deprecated. This field is not used by Logging. Any value written to it is cleared.
         &quot;systemLabels&quot;: { # Output only. Values for predefined system metadata labels. System labels are a kind of metadata extracted by Google, including &quot;machine_image&quot;, &quot;vpc&quot;, &quot;subnet_id&quot;, &quot;security_group&quot;, &quot;name&quot;, etc. System label values can be only strings, Boolean values, or a list of strings. For example: { &quot;name&quot;: &quot;my-test-instance&quot;, &quot;security_group&quot;: [&quot;a&quot;, &quot;b&quot;, &quot;c&quot;], &quot;spot_instance&quot;: false }
           &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
         },
@@ -255,11 +255,11 @@
       &quot;jsonPayload&quot;: { # The log entry payload, represented as a structure that is expressed as a JSON object.
         &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
       },
-      &quot;labels&quot;: { # Optional. A set of user-defined (key, value) data that provides additional information about the log entry.Cloud Logging truncates label keys that exceed 512 B and label values that exceed 64 KB upon their associated log entry being written. The truncation is indicated by an ellipsis at the end of the character string.
+      &quot;labels&quot;: { # Optional. A map of key, value pairs that provides additional information about the log entry. The labels can be user-defined or system-defined.User-defined labels are arbitrary key, value pairs that you can use to classify logs.System-defined labels are defined by GCP services for platform logs. They have two components - a service namespace component and the attribute name. For example: compute.googleapis.com/resource_name.Cloud Logging truncates label keys that exceed 512 B and label values that exceed 64 KB upon their associated log entry being written. The truncation is indicated by an ellipsis at the end of the character string.
         &quot;a_key&quot;: &quot;A String&quot;,
       },
-      &quot;logName&quot;: &quot;A String&quot;, # Required. The resource name of the log to which this log entry belongs: &quot;projects/[PROJECT_ID]/logs/[LOG_ID]&quot; &quot;organizations/[ORGANIZATION_ID]/logs/[LOG_ID]&quot; &quot;billingAccounts/[BILLING_ACCOUNT_ID]/logs/[LOG_ID]&quot; &quot;folders/[FOLDER_ID]/logs/[LOG_ID]&quot; A project number may be used in place of PROJECT_ID. The project number is translated to its corresponding PROJECT_ID internally and the log_name field will contain PROJECT_ID in queries and exports.[LOG_ID] must be URL-encoded within log_name. Example: &quot;organizations/1234567890/logs/cloudresourcemanager.googleapis.com%2Factivity&quot;. [LOG_ID] must be less than 512 characters long and can only include the following characters: upper and lower case alphanumeric characters, forward-slash, underscore, hyphen, and period.For backward compatibility, if log_name begins with a forward-slash, such as /projects/..., then the log entry is ingested as usual but the forward-slash is removed. Listing the log entry will not show the leading slash and filtering for a log name with a leading slash will never return any results.
-      &quot;metadata&quot;: { # Auxiliary metadata for a MonitoredResource object. MonitoredResource objects contain the minimum set of information to uniquely identify a monitored resource instance. There is some other useful auxiliary metadata. Monitoring and Logging use an ingestion pipeline to extract metadata for cloud resources of all types, and store the metadata in this message. # Output only. Deprecated. Additional metadata about the monitored resource.Only k8s_container, k8s_pod, and k8s_node MonitoredResources have this field populated for GKE versions older than 1.12.6. For GKE versions 1.12.6 and above, the metadata field has been deprecated. The Kubernetes pod labels that used to be in metadata.userLabels will now be present in the labels field with a key prefix of k8s-pod/. The system labels that were present in the metadata.systemLabels field will no longer be available in the log entry.
+      &quot;logName&quot;: &quot;A String&quot;, # Required. The resource name of the log to which this log entry belongs: &quot;projects/[PROJECT_ID]/logs/[LOG_ID]&quot; &quot;organizations/[ORGANIZATION_ID]/logs/[LOG_ID]&quot; &quot;billingAccounts/[BILLING_ACCOUNT_ID]/logs/[LOG_ID]&quot; &quot;folders/[FOLDER_ID]/logs/[LOG_ID]&quot; A project number may be used in place of PROJECT_ID. The project number is translated to its corresponding PROJECT_ID internally and the log_name field will contain PROJECT_ID in queries and exports.[LOG_ID] must be URL-encoded within log_name. Example: &quot;organizations/1234567890/logs/cloudresourcemanager.googleapis.com%2Factivity&quot;.[LOG_ID] must be less than 512 characters long and can only include the following characters: upper and lower case alphanumeric characters, forward-slash, underscore, hyphen, and period.For backward compatibility, if log_name begins with a forward-slash, such as /projects/..., then the log entry is ingested as usual, but the forward-slash is removed. Listing the log entry will not show the leading slash and filtering for a log name with a leading slash will never return any results.
+      &quot;metadata&quot;: { # Auxiliary metadata for a MonitoredResource object. MonitoredResource objects contain the minimum set of information to uniquely identify a monitored resource instance. There is some other useful auxiliary metadata. Monitoring and Logging use an ingestion pipeline to extract metadata for cloud resources of all types, and store the metadata in this message. # Output only. Deprecated. This field is not used by Logging. Any value written to it is cleared.
         &quot;systemLabels&quot;: { # Output only. Values for predefined system metadata labels. System labels are a kind of metadata extracted by Google, including &quot;machine_image&quot;, &quot;vpc&quot;, &quot;subnet_id&quot;, &quot;security_group&quot;, &quot;name&quot;, etc. System label values can be only strings, Boolean values, or a list of strings. For example: { &quot;name&quot;: &quot;my-test-instance&quot;, &quot;security_group&quot;: [&quot;a&quot;, &quot;b&quot;, &quot;c&quot;], &quot;spot_instance&quot;: false }
           &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
         },
@@ -338,11 +338,11 @@
       &quot;jsonPayload&quot;: { # The log entry payload, represented as a structure that is expressed as a JSON object.
         &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
       },
-      &quot;labels&quot;: { # Optional. A set of user-defined (key, value) data that provides additional information about the log entry.Cloud Logging truncates label keys that exceed 512 B and label values that exceed 64 KB upon their associated log entry being written. The truncation is indicated by an ellipsis at the end of the character string.
+      &quot;labels&quot;: { # Optional. A map of key, value pairs that provides additional information about the log entry. The labels can be user-defined or system-defined.User-defined labels are arbitrary key, value pairs that you can use to classify logs.System-defined labels are defined by GCP services for platform logs. They have two components - a service namespace component and the attribute name. For example: compute.googleapis.com/resource_name.Cloud Logging truncates label keys that exceed 512 B and label values that exceed 64 KB upon their associated log entry being written. The truncation is indicated by an ellipsis at the end of the character string.
         &quot;a_key&quot;: &quot;A String&quot;,
       },
-      &quot;logName&quot;: &quot;A String&quot;, # Required. The resource name of the log to which this log entry belongs: &quot;projects/[PROJECT_ID]/logs/[LOG_ID]&quot; &quot;organizations/[ORGANIZATION_ID]/logs/[LOG_ID]&quot; &quot;billingAccounts/[BILLING_ACCOUNT_ID]/logs/[LOG_ID]&quot; &quot;folders/[FOLDER_ID]/logs/[LOG_ID]&quot; A project number may be used in place of PROJECT_ID. The project number is translated to its corresponding PROJECT_ID internally and the log_name field will contain PROJECT_ID in queries and exports.[LOG_ID] must be URL-encoded within log_name. Example: &quot;organizations/1234567890/logs/cloudresourcemanager.googleapis.com%2Factivity&quot;. [LOG_ID] must be less than 512 characters long and can only include the following characters: upper and lower case alphanumeric characters, forward-slash, underscore, hyphen, and period.For backward compatibility, if log_name begins with a forward-slash, such as /projects/..., then the log entry is ingested as usual but the forward-slash is removed. Listing the log entry will not show the leading slash and filtering for a log name with a leading slash will never return any results.
-      &quot;metadata&quot;: { # Auxiliary metadata for a MonitoredResource object. MonitoredResource objects contain the minimum set of information to uniquely identify a monitored resource instance. There is some other useful auxiliary metadata. Monitoring and Logging use an ingestion pipeline to extract metadata for cloud resources of all types, and store the metadata in this message. # Output only. Deprecated. Additional metadata about the monitored resource.Only k8s_container, k8s_pod, and k8s_node MonitoredResources have this field populated for GKE versions older than 1.12.6. For GKE versions 1.12.6 and above, the metadata field has been deprecated. The Kubernetes pod labels that used to be in metadata.userLabels will now be present in the labels field with a key prefix of k8s-pod/. The system labels that were present in the metadata.systemLabels field will no longer be available in the log entry.
+      &quot;logName&quot;: &quot;A String&quot;, # Required. The resource name of the log to which this log entry belongs: &quot;projects/[PROJECT_ID]/logs/[LOG_ID]&quot; &quot;organizations/[ORGANIZATION_ID]/logs/[LOG_ID]&quot; &quot;billingAccounts/[BILLING_ACCOUNT_ID]/logs/[LOG_ID]&quot; &quot;folders/[FOLDER_ID]/logs/[LOG_ID]&quot; A project number may be used in place of PROJECT_ID. The project number is translated to its corresponding PROJECT_ID internally and the log_name field will contain PROJECT_ID in queries and exports.[LOG_ID] must be URL-encoded within log_name. Example: &quot;organizations/1234567890/logs/cloudresourcemanager.googleapis.com%2Factivity&quot;.[LOG_ID] must be less than 512 characters long and can only include the following characters: upper and lower case alphanumeric characters, forward-slash, underscore, hyphen, and period.For backward compatibility, if log_name begins with a forward-slash, such as /projects/..., then the log entry is ingested as usual, but the forward-slash is removed. Listing the log entry will not show the leading slash and filtering for a log name with a leading slash will never return any results.
+      &quot;metadata&quot;: { # Auxiliary metadata for a MonitoredResource object. MonitoredResource objects contain the minimum set of information to uniquely identify a monitored resource instance. There is some other useful auxiliary metadata. Monitoring and Logging use an ingestion pipeline to extract metadata for cloud resources of all types, and store the metadata in this message. # Output only. Deprecated. This field is not used by Logging. Any value written to it is cleared.
         &quot;systemLabels&quot;: { # Output only. Values for predefined system metadata labels. System labels are a kind of metadata extracted by Google, including &quot;machine_image&quot;, &quot;vpc&quot;, &quot;subnet_id&quot;, &quot;security_group&quot;, &quot;name&quot;, etc. System label values can be only strings, Boolean values, or a list of strings. For example: { &quot;name&quot;: &quot;my-test-instance&quot;, &quot;security_group&quot;: [&quot;a&quot;, &quot;b&quot;, &quot;c&quot;], &quot;spot_instance&quot;: false }
           &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
         },
diff --git a/docs/dyn/logging_v2.folders.logs.html b/docs/dyn/logging_v2.folders.logs.html
index a390b12..268bee8 100644
--- a/docs/dyn/logging_v2.folders.logs.html
+++ b/docs/dyn/logging_v2.folders.logs.html
@@ -97,7 +97,7 @@
   <pre>Deletes all the log entries in a log for the _Default Log Bucket. The log reappears if it receives new entries. Log entries written shortly before the delete operation might not be deleted. Entries received after the delete operation with a timestamp before the operation will be deleted.
 
 Args:
-  logName: string, Required. The resource name of the log to delete: projects/[PROJECT_ID]/logs/[LOG_ID] organizations/[ORGANIZATION_ID]/logs/[LOG_ID] billingAccounts/[BILLING_ACCOUNT_ID]/logs/[LOG_ID] folders/[FOLDER_ID]/logs/[LOG_ID][LOG_ID] must be URL-encoded. For example, &quot;projects/my-project-id/logs/syslog&quot;.For more information about log names, see LogEntry. (required)
+  logName: string, Required. The resource name of the log to delete: projects/[PROJECT_ID]/logs/[LOG_ID] organizations/[ORGANIZATION_ID]/logs/[LOG_ID] billingAccounts/[BILLING_ACCOUNT_ID]/logs/[LOG_ID] folders/[FOLDER_ID]/logs/[LOG_ID][LOG_ID] must be URL-encoded. For example, &quot;projects/my-project-id/logs/syslog&quot;, &quot;organizations/123/logs/cloudaudit.googleapis.com%2Factivity&quot;.For more information about log names, see LogEntry. (required)
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
diff --git a/docs/dyn/logging_v2.logs.html b/docs/dyn/logging_v2.logs.html
index b68eb2e..83cab71 100644
--- a/docs/dyn/logging_v2.logs.html
+++ b/docs/dyn/logging_v2.logs.html
@@ -97,7 +97,7 @@
   <pre>Deletes all the log entries in a log for the _Default Log Bucket. The log reappears if it receives new entries. Log entries written shortly before the delete operation might not be deleted. Entries received after the delete operation with a timestamp before the operation will be deleted.
 
 Args:
-  logName: string, Required. The resource name of the log to delete: projects/[PROJECT_ID]/logs/[LOG_ID] organizations/[ORGANIZATION_ID]/logs/[LOG_ID] billingAccounts/[BILLING_ACCOUNT_ID]/logs/[LOG_ID] folders/[FOLDER_ID]/logs/[LOG_ID][LOG_ID] must be URL-encoded. For example, &quot;projects/my-project-id/logs/syslog&quot;.For more information about log names, see LogEntry. (required)
+  logName: string, Required. The resource name of the log to delete: projects/[PROJECT_ID]/logs/[LOG_ID] organizations/[ORGANIZATION_ID]/logs/[LOG_ID] billingAccounts/[BILLING_ACCOUNT_ID]/logs/[LOG_ID] folders/[FOLDER_ID]/logs/[LOG_ID][LOG_ID] must be URL-encoded. For example, &quot;projects/my-project-id/logs/syslog&quot;, &quot;organizations/123/logs/cloudaudit.googleapis.com%2Factivity&quot;.For more information about log names, see LogEntry. (required)
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
diff --git a/docs/dyn/logging_v2.organizations.logs.html b/docs/dyn/logging_v2.organizations.logs.html
index 878a359..dc7612e 100644
--- a/docs/dyn/logging_v2.organizations.logs.html
+++ b/docs/dyn/logging_v2.organizations.logs.html
@@ -97,7 +97,7 @@
   <pre>Deletes all the log entries in a log for the _Default Log Bucket. The log reappears if it receives new entries. Log entries written shortly before the delete operation might not be deleted. Entries received after the delete operation with a timestamp before the operation will be deleted.
 
 Args:
-  logName: string, Required. The resource name of the log to delete: projects/[PROJECT_ID]/logs/[LOG_ID] organizations/[ORGANIZATION_ID]/logs/[LOG_ID] billingAccounts/[BILLING_ACCOUNT_ID]/logs/[LOG_ID] folders/[FOLDER_ID]/logs/[LOG_ID][LOG_ID] must be URL-encoded. For example, &quot;projects/my-project-id/logs/syslog&quot;.For more information about log names, see LogEntry. (required)
+  logName: string, Required. The resource name of the log to delete: projects/[PROJECT_ID]/logs/[LOG_ID] organizations/[ORGANIZATION_ID]/logs/[LOG_ID] billingAccounts/[BILLING_ACCOUNT_ID]/logs/[LOG_ID] folders/[FOLDER_ID]/logs/[LOG_ID][LOG_ID] must be URL-encoded. For example, &quot;projects/my-project-id/logs/syslog&quot;, &quot;organizations/123/logs/cloudaudit.googleapis.com%2Factivity&quot;.For more information about log names, see LogEntry. (required)
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
diff --git a/docs/dyn/logging_v2.projects.logs.html b/docs/dyn/logging_v2.projects.logs.html
index da288b4..7b0ad27 100644
--- a/docs/dyn/logging_v2.projects.logs.html
+++ b/docs/dyn/logging_v2.projects.logs.html
@@ -97,7 +97,7 @@
   <pre>Deletes all the log entries in a log for the _Default Log Bucket. The log reappears if it receives new entries. Log entries written shortly before the delete operation might not be deleted. Entries received after the delete operation with a timestamp before the operation will be deleted.
 
 Args:
-  logName: string, Required. The resource name of the log to delete: projects/[PROJECT_ID]/logs/[LOG_ID] organizations/[ORGANIZATION_ID]/logs/[LOG_ID] billingAccounts/[BILLING_ACCOUNT_ID]/logs/[LOG_ID] folders/[FOLDER_ID]/logs/[LOG_ID][LOG_ID] must be URL-encoded. For example, &quot;projects/my-project-id/logs/syslog&quot;.For more information about log names, see LogEntry. (required)
+  logName: string, Required. The resource name of the log to delete: projects/[PROJECT_ID]/logs/[LOG_ID] organizations/[ORGANIZATION_ID]/logs/[LOG_ID] billingAccounts/[BILLING_ACCOUNT_ID]/logs/[LOG_ID] folders/[FOLDER_ID]/logs/[LOG_ID][LOG_ID] must be URL-encoded. For example, &quot;projects/my-project-id/logs/syslog&quot;, &quot;organizations/123/logs/cloudaudit.googleapis.com%2Factivity&quot;.For more information about log names, see LogEntry. (required)
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
diff --git a/docs/dyn/logging_v2.projects.metrics.html b/docs/dyn/logging_v2.projects.metrics.html
index d8e7c08..416b008 100644
--- a/docs/dyn/logging_v2.projects.metrics.html
+++ b/docs/dyn/logging_v2.projects.metrics.html
@@ -130,6 +130,7 @@
   },
   &quot;createTime&quot;: &quot;A String&quot;, # Output only. The creation timestamp of the metric.This field may not be present for older metrics.
   &quot;description&quot;: &quot;A String&quot;, # Optional. A description of this metric, which is used in documentation. The maximum length of the description is 8000 characters.
+  &quot;disabled&quot;: True or False, # Optional. If set to True, then this metric is disabled and it does not generate any points.
   &quot;filter&quot;: &quot;A String&quot;, # Required. An advanced logs filter (https://cloud.google.com/logging/docs/view/advanced_filters) which is used to match log entries. Example: &quot;resource.type=gae_app AND severity&gt;=ERROR&quot; The maximum length of the filter is 20000 characters.
   &quot;labelExtractors&quot;: { # Optional. A map from a label key string to an extractor expression which is used to extract data from a log entry field and assign as the label value. Each label key specified in the LabelDescriptor must have an associated extractor expression in this map. The syntax of the extractor expression is the same as for the value_extractor field.The extracted value is converted to the type defined in the label descriptor. If the either the extraction or the type conversion fails, the label will have a default value. The default value for a string label is an empty string, for an integer label its 0, and for a boolean label its false.Note that there are upper bounds on the maximum number of labels and the number of active time series that are allowed in a project.
     &quot;a_key&quot;: &quot;A String&quot;,
@@ -193,6 +194,7 @@
   },
   &quot;createTime&quot;: &quot;A String&quot;, # Output only. The creation timestamp of the metric.This field may not be present for older metrics.
   &quot;description&quot;: &quot;A String&quot;, # Optional. A description of this metric, which is used in documentation. The maximum length of the description is 8000 characters.
+  &quot;disabled&quot;: True or False, # Optional. If set to True, then this metric is disabled and it does not generate any points.
   &quot;filter&quot;: &quot;A String&quot;, # Required. An advanced logs filter (https://cloud.google.com/logging/docs/view/advanced_filters) which is used to match log entries. Example: &quot;resource.type=gae_app AND severity&gt;=ERROR&quot; The maximum length of the filter is 20000 characters.
   &quot;labelExtractors&quot;: { # Optional. A map from a label key string to an extractor expression which is used to extract data from a log entry field and assign as the label value. Each label key specified in the LabelDescriptor must have an associated extractor expression in this map. The syntax of the extractor expression is the same as for the value_extractor field.The extracted value is converted to the type defined in the label descriptor. If the either the extraction or the type conversion fails, the label will have a default value. The default value for a string label is an empty string, for an integer label its 0, and for a boolean label its false.Note that there are upper bounds on the maximum number of labels and the number of active time series that are allowed in a project.
     &quot;a_key&quot;: &quot;A String&quot;,
@@ -281,6 +283,7 @@
   },
   &quot;createTime&quot;: &quot;A String&quot;, # Output only. The creation timestamp of the metric.This field may not be present for older metrics.
   &quot;description&quot;: &quot;A String&quot;, # Optional. A description of this metric, which is used in documentation. The maximum length of the description is 8000 characters.
+  &quot;disabled&quot;: True or False, # Optional. If set to True, then this metric is disabled and it does not generate any points.
   &quot;filter&quot;: &quot;A String&quot;, # Required. An advanced logs filter (https://cloud.google.com/logging/docs/view/advanced_filters) which is used to match log entries. Example: &quot;resource.type=gae_app AND severity&gt;=ERROR&quot; The maximum length of the filter is 20000 characters.
   &quot;labelExtractors&quot;: { # Optional. A map from a label key string to an extractor expression which is used to extract data from a log entry field and assign as the label value. Each label key specified in the LabelDescriptor must have an associated extractor expression in this map. The syntax of the extractor expression is the same as for the value_extractor field.The extracted value is converted to the type defined in the label descriptor. If the either the extraction or the type conversion fails, the label will have a default value. The default value for a string label is an empty string, for an integer label its 0, and for a boolean label its false.Note that there are upper bounds on the maximum number of labels and the number of active time series that are allowed in a project.
     &quot;a_key&quot;: &quot;A String&quot;,
@@ -355,6 +358,7 @@
       },
       &quot;createTime&quot;: &quot;A String&quot;, # Output only. The creation timestamp of the metric.This field may not be present for older metrics.
       &quot;description&quot;: &quot;A String&quot;, # Optional. A description of this metric, which is used in documentation. The maximum length of the description is 8000 characters.
+      &quot;disabled&quot;: True or False, # Optional. If set to True, then this metric is disabled and it does not generate any points.
       &quot;filter&quot;: &quot;A String&quot;, # Required. An advanced logs filter (https://cloud.google.com/logging/docs/view/advanced_filters) which is used to match log entries. Example: &quot;resource.type=gae_app AND severity&gt;=ERROR&quot; The maximum length of the filter is 20000 characters.
       &quot;labelExtractors&quot;: { # Optional. A map from a label key string to an extractor expression which is used to extract data from a log entry field and assign as the label value. Each label key specified in the LabelDescriptor must have an associated extractor expression in this map. The syntax of the extractor expression is the same as for the value_extractor field.The extracted value is converted to the type defined in the label descriptor. If the either the extraction or the type conversion fails, the label will have a default value. The default value for a string label is an empty string, for an integer label its 0, and for a boolean label its false.Note that there are upper bounds on the maximum number of labels and the number of active time series that are allowed in a project.
         &quot;a_key&quot;: &quot;A String&quot;,
@@ -437,6 +441,7 @@
   },
   &quot;createTime&quot;: &quot;A String&quot;, # Output only. The creation timestamp of the metric.This field may not be present for older metrics.
   &quot;description&quot;: &quot;A String&quot;, # Optional. A description of this metric, which is used in documentation. The maximum length of the description is 8000 characters.
+  &quot;disabled&quot;: True or False, # Optional. If set to True, then this metric is disabled and it does not generate any points.
   &quot;filter&quot;: &quot;A String&quot;, # Required. An advanced logs filter (https://cloud.google.com/logging/docs/view/advanced_filters) which is used to match log entries. Example: &quot;resource.type=gae_app AND severity&gt;=ERROR&quot; The maximum length of the filter is 20000 characters.
   &quot;labelExtractors&quot;: { # Optional. A map from a label key string to an extractor expression which is used to extract data from a log entry field and assign as the label value. Each label key specified in the LabelDescriptor must have an associated extractor expression in this map. The syntax of the extractor expression is the same as for the value_extractor field.The extracted value is converted to the type defined in the label descriptor. If the either the extraction or the type conversion fails, the label will have a default value. The default value for a string label is an empty string, for an integer label its 0, and for a boolean label its false.Note that there are upper bounds on the maximum number of labels and the number of active time series that are allowed in a project.
     &quot;a_key&quot;: &quot;A String&quot;,
@@ -500,6 +505,7 @@
   },
   &quot;createTime&quot;: &quot;A String&quot;, # Output only. The creation timestamp of the metric.This field may not be present for older metrics.
   &quot;description&quot;: &quot;A String&quot;, # Optional. A description of this metric, which is used in documentation. The maximum length of the description is 8000 characters.
+  &quot;disabled&quot;: True or False, # Optional. If set to True, then this metric is disabled and it does not generate any points.
   &quot;filter&quot;: &quot;A String&quot;, # Required. An advanced logs filter (https://cloud.google.com/logging/docs/view/advanced_filters) which is used to match log entries. Example: &quot;resource.type=gae_app AND severity&gt;=ERROR&quot; The maximum length of the filter is 20000 characters.
   &quot;labelExtractors&quot;: { # Optional. A map from a label key string to an extractor expression which is used to extract data from a log entry field and assign as the label value. Each label key specified in the LabelDescriptor must have an associated extractor expression in this map. The syntax of the extractor expression is the same as for the value_extractor field.The extracted value is converted to the type defined in the label descriptor. If the either the extraction or the type conversion fails, the label will have a default value. The default value for a string label is an empty string, for an integer label its 0, and for a boolean label its false.Note that there are upper bounds on the maximum number of labels and the number of active time series that are allowed in a project.
     &quot;a_key&quot;: &quot;A String&quot;,
diff --git a/docs/dyn/pubsublite_v1.topicStats.projects.locations.topics.html b/docs/dyn/pubsublite_v1.topicStats.projects.locations.topics.html
index a9ccf27..477234d 100644
--- a/docs/dyn/pubsublite_v1.topicStats.projects.locations.topics.html
+++ b/docs/dyn/pubsublite_v1.topicStats.projects.locations.topics.html
@@ -83,6 +83,9 @@
 <p class="toc_element">
   <code><a href="#computeMessageStats">computeMessageStats(topic, body=None, x__xgafv=None)</a></code></p>
 <p class="firstline">Compute statistics about a range of messages in a given topic and partition.</p>
+<p class="toc_element">
+  <code><a href="#computeTimeCursor">computeTimeCursor(topic, body=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Compute the corresponding cursor for a publish or event time in a topic partition.</p>
 <h3>Method Details</h3>
 <div class="method">
     <code class="details" id="close">close()</code>
@@ -152,4 +155,36 @@
 }</pre>
 </div>
 
+<div class="method">
+    <code class="details" id="computeTimeCursor">computeTimeCursor(topic, body=None, x__xgafv=None)</code>
+  <pre>Compute the corresponding cursor for a publish or event time in a topic partition.
+
+Args:
+  topic: string, Required. The topic for which we should compute the cursor. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Compute the corresponding cursor for a publish or event time in a topic partition.
+  &quot;partition&quot;: &quot;A String&quot;, # Required. The partition for which we should compute the cursor.
+  &quot;target&quot;: { # A target publish or event time. Can be used for seeking to or retrieving the corresponding cursor. # Required. The target publish or event time. Specifying a future time will return an unset cursor.
+    &quot;eventTime&quot;: &quot;A String&quot;, # Request the cursor of the first message with event time greater than or equal to `event_time`. If messages are missing an event time, the publish time is used as a fallback. As event times are user supplied, subsequent messages may have event times less than `event_time` and should be filtered by the client, if necessary.
+    &quot;publishTime&quot;: &quot;A String&quot;, # Request the cursor of the first message with publish time greater than or equal to `publish_time`. All messages thereafter are guaranteed to have publish times &gt;= `publish_time`.
+  },
+}
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Response containing the cursor corresponding to a publish or event time in a topic partition.
+  &quot;cursor&quot;: { # A cursor that describes the position of a message within a topic partition. # If present, the cursor references the first message with time greater than or equal to the specified target time. If such a message cannot be found, the cursor will be unset (i.e. `cursor` is not present).
+    &quot;offset&quot;: &quot;A String&quot;, # The offset of a message within a topic partition. Must be greater than or equal 0.
+  },
+}</pre>
+</div>
+
 </body></html>
\ No newline at end of file
diff --git a/docs/dyn/recaptchaenterprise_v1.html b/docs/dyn/recaptchaenterprise_v1.html
new file mode 100644
index 0000000..2d401c7
--- /dev/null
+++ b/docs/dyn/recaptchaenterprise_v1.html
@@ -0,0 +1,111 @@
+<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="recaptchaenterprise_v1.html">reCAPTCHA Enterprise API</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="recaptchaenterprise_v1.projects.html">projects()</a></code>
+</p>
+<p class="firstline">Returns the projects Resource.</p>
+
+<p class="toc_element">
+  <code><a href="#close">close()</a></code></p>
+<p class="firstline">Close httplib2 connections.</p>
+<p class="toc_element">
+  <code><a href="#new_batch_http_request">new_batch_http_request()</a></code></p>
+<p class="firstline">Create a BatchHttpRequest object based on the discovery document.</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="new_batch_http_request">new_batch_http_request()</code>
+  <pre>Create a BatchHttpRequest object based on the discovery document.
+
+        Args:
+          callback: callable, A callback to be called for each response, of the
+            form callback(id, response, exception). The first parameter is the
+            request id, and the second is the deserialized response object. The
+            third is an apiclient.errors.HttpError exception object if an HTTP
+            error occurred while processing the request, or None if no error
+            occurred.
+
+        Returns:
+          A BatchHttpRequest object based on the discovery document.
+        </pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/recaptchaenterprise_v1.projects.assessments.html b/docs/dyn/recaptchaenterprise_v1.projects.assessments.html
new file mode 100644
index 0000000..94c1e34
--- /dev/null
+++ b/docs/dyn/recaptchaenterprise_v1.projects.assessments.html
@@ -0,0 +1,186 @@
+<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="recaptchaenterprise_v1.html">reCAPTCHA Enterprise API</a> . <a href="recaptchaenterprise_v1.projects.html">projects</a> . <a href="recaptchaenterprise_v1.projects.assessments.html">assessments</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#annotate">annotate(name, body=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Annotates a previously created Assessment to provide additional information on whether the event turned out to be authentic or fraudulent.</p>
+<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 an Assessment of the likelihood an event is legitimate.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="annotate">annotate(name, body=None, x__xgafv=None)</code>
+  <pre>Annotates a previously created Assessment to provide additional information on whether the event turned out to be authentic or fraudulent.
+
+Args:
+  name: string, Required. The resource name of the Assessment, in the format &quot;projects/{project}/assessments/{assessment}&quot;. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # The request message to annotate an Assessment.
+  &quot;annotation&quot;: &quot;A String&quot;, # Optional. The annotation that will be assigned to the Event. This field can be left empty to provide reasons that apply to an event without concluding whether the event is legitimate or fraudulent.
+  &quot;reasons&quot;: [ # Optional. Optional reasons for the annotation that will be assigned to the Event.
+    &quot;A String&quot;,
+  ],
+}
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Empty response for AnnotateAssessment.
+}</pre>
+</div>
+
+<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 an Assessment of the likelihood an event is legitimate.
+
+Args:
+  parent: string, Required. The name of the project in which the assessment will be created, in the format &quot;projects/{project}&quot;. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # A recaptcha assessment resource.
+  &quot;event&quot;: { # The event being assessed.
+    &quot;expectedAction&quot;: &quot;A String&quot;, # Optional. The expected action for this type of event. This should be the same action provided at token generation time on client-side platforms already integrated with recaptcha enterprise.
+    &quot;siteKey&quot;: &quot;A String&quot;, # Optional. The site key that was used to invoke reCAPTCHA on your site and generate the token.
+    &quot;token&quot;: &quot;A String&quot;, # Optional. The user response token provided by the reCAPTCHA client-side integration on your site.
+    &quot;userAgent&quot;: &quot;A String&quot;, # Optional. The user agent present in the request from the user&#x27;s device related to this event.
+    &quot;userIpAddress&quot;: &quot;A String&quot;, # Optional. The IP address in the request from the user&#x27;s device related to this event.
+  },
+  &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name for the Assessment in the format &quot;projects/{project}/assessments/{assessment}&quot;.
+  &quot;riskAnalysis&quot;: { # Risk analysis result for an event. # Output only. The risk analysis result for the event being assessed.
+    &quot;reasons&quot;: [ # Reasons contributing to the risk analysis verdict.
+      &quot;A String&quot;,
+    ],
+    &quot;score&quot;: 3.14, # Legitimate event score from 0.0 to 1.0. (1.0 means very likely legitimate traffic while 0.0 means very likely non-legitimate traffic).
+  },
+  &quot;tokenProperties&quot;: { # Output only. Properties of the provided event token.
+    &quot;action&quot;: &quot;A String&quot;, # Action name provided at token generation.
+    &quot;createTime&quot;: &quot;A String&quot;, # The timestamp corresponding to the generation of the token.
+    &quot;hostname&quot;: &quot;A String&quot;, # The hostname of the page on which the token was generated.
+    &quot;invalidReason&quot;: &quot;A String&quot;, # Reason associated with the response when valid = false.
+    &quot;valid&quot;: True or False, # Whether the provided user response token is valid. When valid = false, the reason could be specified in invalid_reason or it could also be due to a user failing to solve a challenge or a sitekey mismatch (i.e the sitekey used to generate the token was different than the one specified in the assessment).
+  },
+}
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A recaptcha assessment resource.
+  &quot;event&quot;: { # The event being assessed.
+    &quot;expectedAction&quot;: &quot;A String&quot;, # Optional. The expected action for this type of event. This should be the same action provided at token generation time on client-side platforms already integrated with recaptcha enterprise.
+    &quot;siteKey&quot;: &quot;A String&quot;, # Optional. The site key that was used to invoke reCAPTCHA on your site and generate the token.
+    &quot;token&quot;: &quot;A String&quot;, # Optional. The user response token provided by the reCAPTCHA client-side integration on your site.
+    &quot;userAgent&quot;: &quot;A String&quot;, # Optional. The user agent present in the request from the user&#x27;s device related to this event.
+    &quot;userIpAddress&quot;: &quot;A String&quot;, # Optional. The IP address in the request from the user&#x27;s device related to this event.
+  },
+  &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name for the Assessment in the format &quot;projects/{project}/assessments/{assessment}&quot;.
+  &quot;riskAnalysis&quot;: { # Risk analysis result for an event. # Output only. The risk analysis result for the event being assessed.
+    &quot;reasons&quot;: [ # Reasons contributing to the risk analysis verdict.
+      &quot;A String&quot;,
+    ],
+    &quot;score&quot;: 3.14, # Legitimate event score from 0.0 to 1.0. (1.0 means very likely legitimate traffic while 0.0 means very likely non-legitimate traffic).
+  },
+  &quot;tokenProperties&quot;: { # Output only. Properties of the provided event token.
+    &quot;action&quot;: &quot;A String&quot;, # Action name provided at token generation.
+    &quot;createTime&quot;: &quot;A String&quot;, # The timestamp corresponding to the generation of the token.
+    &quot;hostname&quot;: &quot;A String&quot;, # The hostname of the page on which the token was generated.
+    &quot;invalidReason&quot;: &quot;A String&quot;, # Reason associated with the response when valid = false.
+    &quot;valid&quot;: True or False, # Whether the provided user response token is valid. When valid = false, the reason could be specified in invalid_reason or it could also be due to a user failing to solve a challenge or a sitekey mismatch (i.e the sitekey used to generate the token was different than the one specified in the assessment).
+  },
+}</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/recaptchaenterprise_v1.projects.html b/docs/dyn/recaptchaenterprise_v1.projects.html
new file mode 100644
index 0000000..f5f9112
--- /dev/null
+++ b/docs/dyn/recaptchaenterprise_v1.projects.html
@@ -0,0 +1,96 @@
+<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="recaptchaenterprise_v1.html">reCAPTCHA Enterprise API</a> . <a href="recaptchaenterprise_v1.projects.html">projects</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="recaptchaenterprise_v1.projects.assessments.html">assessments()</a></code>
+</p>
+<p class="firstline">Returns the assessments Resource.</p>
+
+<p class="toc_element">
+  <code><a href="recaptchaenterprise_v1.projects.keys.html">keys()</a></code>
+</p>
+<p class="firstline">Returns the keys 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>
+<div class="method">
+    <code class="details" id="close">close()</code>
+  <pre>Close httplib2 connections.</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/recaptchaenterprise_v1.projects.keys.html b/docs/dyn/recaptchaenterprise_v1.projects.keys.html
new file mode 100644
index 0000000..7173cd1
--- /dev/null
+++ b/docs/dyn/recaptchaenterprise_v1.projects.keys.html
@@ -0,0 +1,504 @@
+<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="recaptchaenterprise_v1.html">reCAPTCHA Enterprise API</a> . <a href="recaptchaenterprise_v1.projects.html">projects</a> . <a href="recaptchaenterprise_v1.projects.keys.html">keys</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 reCAPTCHA Enterprise key.</p>
+<p class="toc_element">
+  <code><a href="#delete">delete(name, x__xgafv=None)</a></code></p>
+<p class="firstline">Deletes the specified key.</p>
+<p class="toc_element">
+  <code><a href="#get">get(name, x__xgafv=None)</a></code></p>
+<p class="firstline">Returns the specified key.</p>
+<p class="toc_element">
+  <code><a href="#getMetrics">getMetrics(name, x__xgafv=None)</a></code></p>
+<p class="firstline">Get some aggregated metrics for a Key. This data can be used to build dashboards.</p>
+<p class="toc_element">
+  <code><a href="#list">list(parent, pageSize=None, pageToken=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Returns the list of all keys that belong to a project.</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="#migrate">migrate(name, body=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Migrates an existing key from reCAPTCHA to reCAPTCHA Enterprise. Once a key is migrated, it can be used from either product. SiteVerify requests will be billed as CreateAssessment calls.</p>
+<p class="toc_element">
+  <code><a href="#patch">patch(name, body=None, updateMask=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Updates the specified key.</p>
+<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 reCAPTCHA Enterprise key.
+
+Args:
+  parent: string, Required. The name of the project in which the key will be created, in the format &quot;projects/{project}&quot;. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # A key used to identify and configure applications (web and/or mobile) that use reCAPTCHA Enterprise.
+  &quot;androidSettings&quot;: { # Settings specific to keys that can be used by Android apps. # Settings for keys that can be used by Android apps.
+    &quot;allowedPackageNames&quot;: [ # Android package names of apps allowed to use the key. Example: &#x27;com.companyname.appname&#x27;
+      &quot;A String&quot;,
+    ],
+  },
+  &quot;createTime&quot;: &quot;A String&quot;, # The timestamp corresponding to the creation of this Key.
+  &quot;displayName&quot;: &quot;A String&quot;, # Human-readable display name of this key. Modifiable by user.
+  &quot;iosSettings&quot;: { # Settings specific to keys that can be used by iOS apps. # Settings for keys that can be used by iOS apps.
+    &quot;allowedBundleIds&quot;: [ # iOS bundle ids of apps allowed to use the key. Example: &#x27;com.companyname.productname.appname&#x27;
+      &quot;A String&quot;,
+    ],
+  },
+  &quot;labels&quot;: { # See Creating and managing labels.
+    &quot;a_key&quot;: &quot;A String&quot;,
+  },
+  &quot;name&quot;: &quot;A String&quot;, # The resource name for the Key in the format &quot;projects/{project}/keys/{key}&quot;.
+  &quot;testingOptions&quot;: { # Options for user acceptance testing. # Options for user acceptance testing.
+    &quot;testingChallenge&quot;: &quot;A String&quot;, # For challenge-based keys only (CHECKBOX, INVISIBLE), all challenge requests for this site will return nocaptcha if NOCAPTCHA, or an unsolvable challenge if CHALLENGE.
+    &quot;testingScore&quot;: 3.14, # All assessments for this Key will return this score. Must be between 0 (likely not legitimate) and 1 (likely legitimate) inclusive.
+  },
+  &quot;webSettings&quot;: { # Settings specific to keys that can be used by websites. # Settings for keys that can be used by websites.
+    &quot;allowAllDomains&quot;: True or False, # If set to true, it means allowed_domains will not be enforced.
+    &quot;allowAmpTraffic&quot;: True or False, # Required. Whether this key can be used on AMP (Accelerated Mobile Pages) websites. This can only be set for the SCORE integration type.
+    &quot;allowedDomains&quot;: [ # Domains or subdomains of websites allowed to use the key. All subdomains of an allowed domain are automatically allowed. A valid domain requires a host and must not include any path, port, query or fragment. Examples: &#x27;example.com&#x27; or &#x27;subdomain.example.com&#x27;
+      &quot;A String&quot;,
+    ],
+    &quot;challengeSecurityPreference&quot;: &quot;A String&quot;, # Settings for the frequency and difficulty at which this key triggers captcha challenges. This should only be specified for IntegrationTypes CHECKBOX and INVISIBLE.
+    &quot;integrationType&quot;: &quot;A String&quot;, # Required. Describes how this key is integrated with the website.
+  },
+}
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A key used to identify and configure applications (web and/or mobile) that use reCAPTCHA Enterprise.
+  &quot;androidSettings&quot;: { # Settings specific to keys that can be used by Android apps. # Settings for keys that can be used by Android apps.
+    &quot;allowedPackageNames&quot;: [ # Android package names of apps allowed to use the key. Example: &#x27;com.companyname.appname&#x27;
+      &quot;A String&quot;,
+    ],
+  },
+  &quot;createTime&quot;: &quot;A String&quot;, # The timestamp corresponding to the creation of this Key.
+  &quot;displayName&quot;: &quot;A String&quot;, # Human-readable display name of this key. Modifiable by user.
+  &quot;iosSettings&quot;: { # Settings specific to keys that can be used by iOS apps. # Settings for keys that can be used by iOS apps.
+    &quot;allowedBundleIds&quot;: [ # iOS bundle ids of apps allowed to use the key. Example: &#x27;com.companyname.productname.appname&#x27;
+      &quot;A String&quot;,
+    ],
+  },
+  &quot;labels&quot;: { # See Creating and managing labels.
+    &quot;a_key&quot;: &quot;A String&quot;,
+  },
+  &quot;name&quot;: &quot;A String&quot;, # The resource name for the Key in the format &quot;projects/{project}/keys/{key}&quot;.
+  &quot;testingOptions&quot;: { # Options for user acceptance testing. # Options for user acceptance testing.
+    &quot;testingChallenge&quot;: &quot;A String&quot;, # For challenge-based keys only (CHECKBOX, INVISIBLE), all challenge requests for this site will return nocaptcha if NOCAPTCHA, or an unsolvable challenge if CHALLENGE.
+    &quot;testingScore&quot;: 3.14, # All assessments for this Key will return this score. Must be between 0 (likely not legitimate) and 1 (likely legitimate) inclusive.
+  },
+  &quot;webSettings&quot;: { # Settings specific to keys that can be used by websites. # Settings for keys that can be used by websites.
+    &quot;allowAllDomains&quot;: True or False, # If set to true, it means allowed_domains will not be enforced.
+    &quot;allowAmpTraffic&quot;: True or False, # Required. Whether this key can be used on AMP (Accelerated Mobile Pages) websites. This can only be set for the SCORE integration type.
+    &quot;allowedDomains&quot;: [ # Domains or subdomains of websites allowed to use the key. All subdomains of an allowed domain are automatically allowed. A valid domain requires a host and must not include any path, port, query or fragment. Examples: &#x27;example.com&#x27; or &#x27;subdomain.example.com&#x27;
+      &quot;A String&quot;,
+    ],
+    &quot;challengeSecurityPreference&quot;: &quot;A String&quot;, # Settings for the frequency and difficulty at which this key triggers captcha challenges. This should only be specified for IntegrationTypes CHECKBOX and INVISIBLE.
+    &quot;integrationType&quot;: &quot;A String&quot;, # Required. Describes how this key is integrated with the website.
+  },
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="delete">delete(name, x__xgafv=None)</code>
+  <pre>Deletes the specified key.
+
+Args:
+  name: string, Required. The name of the key to be deleted, in the format &quot;projects/{project}/keys/{key}&quot;. (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } The JSON representation for `Empty` is empty JSON object `{}`.
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(name, x__xgafv=None)</code>
+  <pre>Returns the specified key.
+
+Args:
+  name: string, Required. The name of the requested key, in the format &quot;projects/{project}/keys/{key}&quot;. (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A key used to identify and configure applications (web and/or mobile) that use reCAPTCHA Enterprise.
+  &quot;androidSettings&quot;: { # Settings specific to keys that can be used by Android apps. # Settings for keys that can be used by Android apps.
+    &quot;allowedPackageNames&quot;: [ # Android package names of apps allowed to use the key. Example: &#x27;com.companyname.appname&#x27;
+      &quot;A String&quot;,
+    ],
+  },
+  &quot;createTime&quot;: &quot;A String&quot;, # The timestamp corresponding to the creation of this Key.
+  &quot;displayName&quot;: &quot;A String&quot;, # Human-readable display name of this key. Modifiable by user.
+  &quot;iosSettings&quot;: { # Settings specific to keys that can be used by iOS apps. # Settings for keys that can be used by iOS apps.
+    &quot;allowedBundleIds&quot;: [ # iOS bundle ids of apps allowed to use the key. Example: &#x27;com.companyname.productname.appname&#x27;
+      &quot;A String&quot;,
+    ],
+  },
+  &quot;labels&quot;: { # See Creating and managing labels.
+    &quot;a_key&quot;: &quot;A String&quot;,
+  },
+  &quot;name&quot;: &quot;A String&quot;, # The resource name for the Key in the format &quot;projects/{project}/keys/{key}&quot;.
+  &quot;testingOptions&quot;: { # Options for user acceptance testing. # Options for user acceptance testing.
+    &quot;testingChallenge&quot;: &quot;A String&quot;, # For challenge-based keys only (CHECKBOX, INVISIBLE), all challenge requests for this site will return nocaptcha if NOCAPTCHA, or an unsolvable challenge if CHALLENGE.
+    &quot;testingScore&quot;: 3.14, # All assessments for this Key will return this score. Must be between 0 (likely not legitimate) and 1 (likely legitimate) inclusive.
+  },
+  &quot;webSettings&quot;: { # Settings specific to keys that can be used by websites. # Settings for keys that can be used by websites.
+    &quot;allowAllDomains&quot;: True or False, # If set to true, it means allowed_domains will not be enforced.
+    &quot;allowAmpTraffic&quot;: True or False, # Required. Whether this key can be used on AMP (Accelerated Mobile Pages) websites. This can only be set for the SCORE integration type.
+    &quot;allowedDomains&quot;: [ # Domains or subdomains of websites allowed to use the key. All subdomains of an allowed domain are automatically allowed. A valid domain requires a host and must not include any path, port, query or fragment. Examples: &#x27;example.com&#x27; or &#x27;subdomain.example.com&#x27;
+      &quot;A String&quot;,
+    ],
+    &quot;challengeSecurityPreference&quot;: &quot;A String&quot;, # Settings for the frequency and difficulty at which this key triggers captcha challenges. This should only be specified for IntegrationTypes CHECKBOX and INVISIBLE.
+    &quot;integrationType&quot;: &quot;A String&quot;, # Required. Describes how this key is integrated with the website.
+  },
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="getMetrics">getMetrics(name, x__xgafv=None)</code>
+  <pre>Get some aggregated metrics for a Key. This data can be used to build dashboards.
+
+Args:
+  name: string, Required. The name of the requested metrics, in the format &quot;projects/{project}/keys/{key}/metrics&quot;. (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Metrics for a single Key.
+  &quot;challengeMetrics&quot;: [ # Metrics will be continuous and in order by dates, and in the granularity of day. Only challenge-based keys (CHECKBOX, INVISIBLE), will have challenge-based data.
+    { # Metrics related to challenges.
+      &quot;failedCount&quot;: &quot;A String&quot;, # Count of submitted challenge solutions that were incorrect or otherwise deemed suspicious such that a subsequent challenge was triggered.
+      &quot;nocaptchaCount&quot;: &quot;A String&quot;, # Count of nocaptchas (successful verification without a challenge) issued.
+      &quot;pageloadCount&quot;: &quot;A String&quot;, # Count of reCAPTCHA checkboxes or badges rendered. This is mostly equivalent to a count of pageloads for pages that include reCAPTCHA.
+      &quot;passedCount&quot;: &quot;A String&quot;, # Count of nocaptchas (successful verification without a challenge) plus submitted challenge solutions that were correct and resulted in verification.
+    },
+  ],
+  &quot;scoreMetrics&quot;: [ # Metrics will be continuous and in order by dates, and in the granularity of day. All Key types should have score-based data.
+    { # Metrics related to scoring.
+      &quot;actionMetrics&quot;: { # Action-based metrics. The map key is the action name which specified by the site owners at time of the &quot;execute&quot; client-side call. Populated only for SCORE keys.
+        &quot;a_key&quot;: { # Score distribution.
+          &quot;scoreBuckets&quot;: { # Map key is score value multiplied by 100. The scores are discrete values between [0, 1]. The maximum number of buckets is on order of a few dozen, but typically much lower (ie. 10).
+            &quot;a_key&quot;: &quot;A String&quot;,
+          },
+        },
+      },
+      &quot;overallMetrics&quot;: { # Score distribution. # Aggregated score metrics for all traffic.
+        &quot;scoreBuckets&quot;: { # Map key is score value multiplied by 100. The scores are discrete values between [0, 1]. The maximum number of buckets is on order of a few dozen, but typically much lower (ie. 10).
+          &quot;a_key&quot;: &quot;A String&quot;,
+        },
+      },
+    },
+  ],
+  &quot;startTime&quot;: &quot;A String&quot;, # Inclusive start time aligned to a day (UTC).
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(parent, pageSize=None, pageToken=None, x__xgafv=None)</code>
+  <pre>Returns the list of all keys that belong to a project.
+
+Args:
+  parent: string, Required. The name of the project that contains the keys that will be listed, in the format &quot;projects/{project}&quot;. (required)
+  pageSize: integer, Optional. The maximum number of keys to return. Default is 10. Max limit is 1000.
+  pageToken: string, Optional. The next_page_token value returned from a previous. ListKeysRequest, if any.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Response to request to list keys in a project.
+  &quot;keys&quot;: [ # Key details.
+    { # A key used to identify and configure applications (web and/or mobile) that use reCAPTCHA Enterprise.
+      &quot;androidSettings&quot;: { # Settings specific to keys that can be used by Android apps. # Settings for keys that can be used by Android apps.
+        &quot;allowedPackageNames&quot;: [ # Android package names of apps allowed to use the key. Example: &#x27;com.companyname.appname&#x27;
+          &quot;A String&quot;,
+        ],
+      },
+      &quot;createTime&quot;: &quot;A String&quot;, # The timestamp corresponding to the creation of this Key.
+      &quot;displayName&quot;: &quot;A String&quot;, # Human-readable display name of this key. Modifiable by user.
+      &quot;iosSettings&quot;: { # Settings specific to keys that can be used by iOS apps. # Settings for keys that can be used by iOS apps.
+        &quot;allowedBundleIds&quot;: [ # iOS bundle ids of apps allowed to use the key. Example: &#x27;com.companyname.productname.appname&#x27;
+          &quot;A String&quot;,
+        ],
+      },
+      &quot;labels&quot;: { # See Creating and managing labels.
+        &quot;a_key&quot;: &quot;A String&quot;,
+      },
+      &quot;name&quot;: &quot;A String&quot;, # The resource name for the Key in the format &quot;projects/{project}/keys/{key}&quot;.
+      &quot;testingOptions&quot;: { # Options for user acceptance testing. # Options for user acceptance testing.
+        &quot;testingChallenge&quot;: &quot;A String&quot;, # For challenge-based keys only (CHECKBOX, INVISIBLE), all challenge requests for this site will return nocaptcha if NOCAPTCHA, or an unsolvable challenge if CHALLENGE.
+        &quot;testingScore&quot;: 3.14, # All assessments for this Key will return this score. Must be between 0 (likely not legitimate) and 1 (likely legitimate) inclusive.
+      },
+      &quot;webSettings&quot;: { # Settings specific to keys that can be used by websites. # Settings for keys that can be used by websites.
+        &quot;allowAllDomains&quot;: True or False, # If set to true, it means allowed_domains will not be enforced.
+        &quot;allowAmpTraffic&quot;: True or False, # Required. Whether this key can be used on AMP (Accelerated Mobile Pages) websites. This can only be set for the SCORE integration type.
+        &quot;allowedDomains&quot;: [ # Domains or subdomains of websites allowed to use the key. All subdomains of an allowed domain are automatically allowed. A valid domain requires a host and must not include any path, port, query or fragment. Examples: &#x27;example.com&#x27; or &#x27;subdomain.example.com&#x27;
+          &quot;A String&quot;,
+        ],
+        &quot;challengeSecurityPreference&quot;: &quot;A String&quot;, # Settings for the frequency and difficulty at which this key triggers captcha challenges. This should only be specified for IntegrationTypes CHECKBOX and INVISIBLE.
+        &quot;integrationType&quot;: &quot;A String&quot;, # Required. Describes how this key is integrated with the website.
+      },
+    },
+  ],
+  &quot;nextPageToken&quot;: &quot;A String&quot;, # Token to retrieve the next page of results. It is set to empty if no keys remain in results.
+}</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="migrate">migrate(name, body=None, x__xgafv=None)</code>
+  <pre>Migrates an existing key from reCAPTCHA to reCAPTCHA Enterprise. Once a key is migrated, it can be used from either product. SiteVerify requests will be billed as CreateAssessment calls.
+
+Args:
+  name: string, Required. The name of the key to be migrated, in the format &quot;projects/{project}/keys/{key}&quot;. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # The migrate key request message.
+}
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A key used to identify and configure applications (web and/or mobile) that use reCAPTCHA Enterprise.
+  &quot;androidSettings&quot;: { # Settings specific to keys that can be used by Android apps. # Settings for keys that can be used by Android apps.
+    &quot;allowedPackageNames&quot;: [ # Android package names of apps allowed to use the key. Example: &#x27;com.companyname.appname&#x27;
+      &quot;A String&quot;,
+    ],
+  },
+  &quot;createTime&quot;: &quot;A String&quot;, # The timestamp corresponding to the creation of this Key.
+  &quot;displayName&quot;: &quot;A String&quot;, # Human-readable display name of this key. Modifiable by user.
+  &quot;iosSettings&quot;: { # Settings specific to keys that can be used by iOS apps. # Settings for keys that can be used by iOS apps.
+    &quot;allowedBundleIds&quot;: [ # iOS bundle ids of apps allowed to use the key. Example: &#x27;com.companyname.productname.appname&#x27;
+      &quot;A String&quot;,
+    ],
+  },
+  &quot;labels&quot;: { # See Creating and managing labels.
+    &quot;a_key&quot;: &quot;A String&quot;,
+  },
+  &quot;name&quot;: &quot;A String&quot;, # The resource name for the Key in the format &quot;projects/{project}/keys/{key}&quot;.
+  &quot;testingOptions&quot;: { # Options for user acceptance testing. # Options for user acceptance testing.
+    &quot;testingChallenge&quot;: &quot;A String&quot;, # For challenge-based keys only (CHECKBOX, INVISIBLE), all challenge requests for this site will return nocaptcha if NOCAPTCHA, or an unsolvable challenge if CHALLENGE.
+    &quot;testingScore&quot;: 3.14, # All assessments for this Key will return this score. Must be between 0 (likely not legitimate) and 1 (likely legitimate) inclusive.
+  },
+  &quot;webSettings&quot;: { # Settings specific to keys that can be used by websites. # Settings for keys that can be used by websites.
+    &quot;allowAllDomains&quot;: True or False, # If set to true, it means allowed_domains will not be enforced.
+    &quot;allowAmpTraffic&quot;: True or False, # Required. Whether this key can be used on AMP (Accelerated Mobile Pages) websites. This can only be set for the SCORE integration type.
+    &quot;allowedDomains&quot;: [ # Domains or subdomains of websites allowed to use the key. All subdomains of an allowed domain are automatically allowed. A valid domain requires a host and must not include any path, port, query or fragment. Examples: &#x27;example.com&#x27; or &#x27;subdomain.example.com&#x27;
+      &quot;A String&quot;,
+    ],
+    &quot;challengeSecurityPreference&quot;: &quot;A String&quot;, # Settings for the frequency and difficulty at which this key triggers captcha challenges. This should only be specified for IntegrationTypes CHECKBOX and INVISIBLE.
+    &quot;integrationType&quot;: &quot;A String&quot;, # Required. Describes how this key is integrated with the website.
+  },
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="patch">patch(name, body=None, updateMask=None, x__xgafv=None)</code>
+  <pre>Updates the specified key.
+
+Args:
+  name: string, The resource name for the Key in the format &quot;projects/{project}/keys/{key}&quot;. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # A key used to identify and configure applications (web and/or mobile) that use reCAPTCHA Enterprise.
+  &quot;androidSettings&quot;: { # Settings specific to keys that can be used by Android apps. # Settings for keys that can be used by Android apps.
+    &quot;allowedPackageNames&quot;: [ # Android package names of apps allowed to use the key. Example: &#x27;com.companyname.appname&#x27;
+      &quot;A String&quot;,
+    ],
+  },
+  &quot;createTime&quot;: &quot;A String&quot;, # The timestamp corresponding to the creation of this Key.
+  &quot;displayName&quot;: &quot;A String&quot;, # Human-readable display name of this key. Modifiable by user.
+  &quot;iosSettings&quot;: { # Settings specific to keys that can be used by iOS apps. # Settings for keys that can be used by iOS apps.
+    &quot;allowedBundleIds&quot;: [ # iOS bundle ids of apps allowed to use the key. Example: &#x27;com.companyname.productname.appname&#x27;
+      &quot;A String&quot;,
+    ],
+  },
+  &quot;labels&quot;: { # See Creating and managing labels.
+    &quot;a_key&quot;: &quot;A String&quot;,
+  },
+  &quot;name&quot;: &quot;A String&quot;, # The resource name for the Key in the format &quot;projects/{project}/keys/{key}&quot;.
+  &quot;testingOptions&quot;: { # Options for user acceptance testing. # Options for user acceptance testing.
+    &quot;testingChallenge&quot;: &quot;A String&quot;, # For challenge-based keys only (CHECKBOX, INVISIBLE), all challenge requests for this site will return nocaptcha if NOCAPTCHA, or an unsolvable challenge if CHALLENGE.
+    &quot;testingScore&quot;: 3.14, # All assessments for this Key will return this score. Must be between 0 (likely not legitimate) and 1 (likely legitimate) inclusive.
+  },
+  &quot;webSettings&quot;: { # Settings specific to keys that can be used by websites. # Settings for keys that can be used by websites.
+    &quot;allowAllDomains&quot;: True or False, # If set to true, it means allowed_domains will not be enforced.
+    &quot;allowAmpTraffic&quot;: True or False, # Required. Whether this key can be used on AMP (Accelerated Mobile Pages) websites. This can only be set for the SCORE integration type.
+    &quot;allowedDomains&quot;: [ # Domains or subdomains of websites allowed to use the key. All subdomains of an allowed domain are automatically allowed. A valid domain requires a host and must not include any path, port, query or fragment. Examples: &#x27;example.com&#x27; or &#x27;subdomain.example.com&#x27;
+      &quot;A String&quot;,
+    ],
+    &quot;challengeSecurityPreference&quot;: &quot;A String&quot;, # Settings for the frequency and difficulty at which this key triggers captcha challenges. This should only be specified for IntegrationTypes CHECKBOX and INVISIBLE.
+    &quot;integrationType&quot;: &quot;A String&quot;, # Required. Describes how this key is integrated with the website.
+  },
+}
+
+  updateMask: string, Optional. The mask to control which field of the key get updated. If the mask is not present, all fields will be updated.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A key used to identify and configure applications (web and/or mobile) that use reCAPTCHA Enterprise.
+  &quot;androidSettings&quot;: { # Settings specific to keys that can be used by Android apps. # Settings for keys that can be used by Android apps.
+    &quot;allowedPackageNames&quot;: [ # Android package names of apps allowed to use the key. Example: &#x27;com.companyname.appname&#x27;
+      &quot;A String&quot;,
+    ],
+  },
+  &quot;createTime&quot;: &quot;A String&quot;, # The timestamp corresponding to the creation of this Key.
+  &quot;displayName&quot;: &quot;A String&quot;, # Human-readable display name of this key. Modifiable by user.
+  &quot;iosSettings&quot;: { # Settings specific to keys that can be used by iOS apps. # Settings for keys that can be used by iOS apps.
+    &quot;allowedBundleIds&quot;: [ # iOS bundle ids of apps allowed to use the key. Example: &#x27;com.companyname.productname.appname&#x27;
+      &quot;A String&quot;,
+    ],
+  },
+  &quot;labels&quot;: { # See Creating and managing labels.
+    &quot;a_key&quot;: &quot;A String&quot;,
+  },
+  &quot;name&quot;: &quot;A String&quot;, # The resource name for the Key in the format &quot;projects/{project}/keys/{key}&quot;.
+  &quot;testingOptions&quot;: { # Options for user acceptance testing. # Options for user acceptance testing.
+    &quot;testingChallenge&quot;: &quot;A String&quot;, # For challenge-based keys only (CHECKBOX, INVISIBLE), all challenge requests for this site will return nocaptcha if NOCAPTCHA, or an unsolvable challenge if CHALLENGE.
+    &quot;testingScore&quot;: 3.14, # All assessments for this Key will return this score. Must be between 0 (likely not legitimate) and 1 (likely legitimate) inclusive.
+  },
+  &quot;webSettings&quot;: { # Settings specific to keys that can be used by websites. # Settings for keys that can be used by websites.
+    &quot;allowAllDomains&quot;: True or False, # If set to true, it means allowed_domains will not be enforced.
+    &quot;allowAmpTraffic&quot;: True or False, # Required. Whether this key can be used on AMP (Accelerated Mobile Pages) websites. This can only be set for the SCORE integration type.
+    &quot;allowedDomains&quot;: [ # Domains or subdomains of websites allowed to use the key. All subdomains of an allowed domain are automatically allowed. A valid domain requires a host and must not include any path, port, query or fragment. Examples: &#x27;example.com&#x27; or &#x27;subdomain.example.com&#x27;
+      &quot;A String&quot;,
+    ],
+    &quot;challengeSecurityPreference&quot;: &quot;A String&quot;, # Settings for the frequency and difficulty at which this key triggers captcha challenges. This should only be specified for IntegrationTypes CHECKBOX and INVISIBLE.
+    &quot;integrationType&quot;: &quot;A String&quot;, # Required. Describes how this key is integrated with the website.
+  },
+}</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/recommendationengine_v1beta1.projects.locations.catalogs.eventStores.placements.html b/docs/dyn/recommendationengine_v1beta1.projects.locations.catalogs.eventStores.placements.html
index a24feb6..d611f1a 100644
--- a/docs/dyn/recommendationengine_v1beta1.projects.locations.catalogs.eventStores.placements.html
+++ b/docs/dyn/recommendationengine_v1beta1.projects.locations.catalogs.eventStores.placements.html
@@ -106,7 +106,7 @@
   },
   &quot;pageSize&quot;: 42, # Optional. Maximum number of results to return per page. Set this property to the number of prediction results required. If zero, the service will choose a reasonable default.
   &quot;pageToken&quot;: &quot;A String&quot;, # Optional. The previous PredictResponse.next_page_token.
-  &quot;params&quot;: { # Optional. Additional domain specific parameters for the predictions. Allowed values: * `returnCatalogItem`: Boolean. If set to true, the associated catalogItem object will be returned in the `PredictResponse.PredictionResult.itemMetadata` object in the method response. * `returnItemScore`: Boolean. If set to true, the prediction &#x27;score&#x27; corresponding to each returned item will be set in the `metadata` field in the prediction response. The given &#x27;score&#x27; indicates the probability of an item being clicked/purchased given the user&#x27;s context and history. * `strictFiltering`: Boolean. True by default. If set to false, the service will return generic (unfiltered) popular items instead of empty if your filter blocks all prediction results.
+  &quot;params&quot;: { # Optional. Additional domain specific parameters for the predictions. Allowed values: * `returnCatalogItem`: Boolean. If set to true, the associated catalogItem object will be returned in the `PredictResponse.PredictionResult.itemMetadata` object in the method response. * `returnItemScore`: Boolean. If set to true, the prediction &#x27;score&#x27; corresponding to each returned item will be set in the `metadata` field in the prediction response. The given &#x27;score&#x27; indicates the probability of an item being clicked/purchased given the user&#x27;s context and history. * `strictFiltering`: Boolean. True by default. If set to false, the service will return generic (unfiltered) popular items instead of empty if your filter blocks all prediction results. * `priceRerankLevel`: String. Default empty. If set to be non-empty, then it needs to be one of {&#x27;no-price-reranking&#x27;, &#x27;low-price-reranking&#x27;, &#x27;medium-price-reranking&#x27;, &#x27;high-price-reranking&#x27;}. This gives request level control and adjust prediction results based on product price. * `diversityLevel`: String. Default empty. If set to be non-empty, then it needs to be one of {&#x27;no-diversity&#x27;, &#x27;low-diversity&#x27;, &#x27;medium-diversity&#x27;, &#x27;high-diversity&#x27;, &#x27;auto-diversity&#x27;}. This gives request level control and adjust prediction results based on product category.
     &quot;a_key&quot;: &quot;&quot;,
   },
   &quot;userEvent&quot;: { # UserEvent captures all metadata information recommendation engine needs to know about how end users interact with customers&#x27; website. # Required. Context about the user, what they are looking at and what action they took to trigger the predict request. Note that this user event detail won&#x27;t be ingested to userEvent logs. Thus, a separate userEvent write request is required for event logging.
diff --git a/docs/dyn/recommender_v1.billingAccounts.locations.insightTypes.insights.html b/docs/dyn/recommender_v1.billingAccounts.locations.insightTypes.insights.html
index 11f89a5..55695b4 100644
--- a/docs/dyn/recommender_v1.billingAccounts.locations.insightTypes.insights.html
+++ b/docs/dyn/recommender_v1.billingAccounts.locations.insightTypes.insights.html
@@ -144,7 +144,7 @@
 
 Args:
   parent: string, Required. The container resource on which to execute the request. Acceptable formats: 1. `projects/[PROJECT_NUMBER]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]` 2. `billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]` 3. `folders/[FOLDER_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]` 4. `organizations/[ORGANIZATION_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]` LOCATION here refers to GCP Locations: https://cloud.google.com/about/locations/ INSIGHT_TYPE_ID refers to supported insight types: https://cloud.google.com/recommender/docs/insights/insight-types. (required)
-  filter: string, Optional. Filter expression to restrict the insights returned. Supported filter fields: state Eg: `state:&quot;DISMISSED&quot; or state:&quot;ACTIVE&quot;
+  filter: string, Optional. Filter expression to restrict the insights returned. Supported filter fields: * `stateInfo.state` * `insightSubtype` * `severity` Examples: * `stateInfo.state = ACTIVE OR stateInfo.state = DISMISSED` * `insightSubtype = PERMISSIONS_USAGE` * `severity = CRITICAL OR severity = HIGH` * `stateInfo.state = ACTIVE AND (severity = CRITICAL OR severity = HIGH)` (These expressions are based on the filter language described at https://google.aip.dev/160)
   pageSize: integer, Optional. The maximum number of results to return from this request. Non-positive values are ignored. If not specified, the server will determine the number of results to return.
   pageToken: string, Optional. If present, retrieves the next batch of results from the preceding call to this method. `page_token` must be the value of `next_page_token` from the previous response. The values of other method parameters must be identical to those in the previous call.
   x__xgafv: string, V1 error format.
diff --git a/docs/dyn/recommender_v1.billingAccounts.locations.recommenders.recommendations.html b/docs/dyn/recommender_v1.billingAccounts.locations.recommenders.recommendations.html
index 3adcdfb..0bc05e2 100644
--- a/docs/dyn/recommender_v1.billingAccounts.locations.recommenders.recommendations.html
+++ b/docs/dyn/recommender_v1.billingAccounts.locations.recommenders.recommendations.html
@@ -127,6 +127,11 @@
         },
         &quot;duration&quot;: &quot;A String&quot;, # Duration for which this cost applies.
       },
+      &quot;securityProjection&quot;: { # Contains various ways of describing the impact on Security. # Use with CategoryType.SECURITY
+        &quot;details&quot;: { # Additional security impact details that is provided by the recommender.
+          &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
+        },
+      },
     },
   ],
   &quot;associatedInsights&quot;: [ # Insights that led to this recommendation.
@@ -176,6 +181,11 @@
       },
       &quot;duration&quot;: &quot;A String&quot;, # Duration for which this cost applies.
     },
+    &quot;securityProjection&quot;: { # Contains various ways of describing the impact on Security. # Use with CategoryType.SECURITY
+      &quot;details&quot;: { # Additional security impact details that is provided by the recommender.
+        &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
+      },
+    },
   },
   &quot;priority&quot;: &quot;A String&quot;, # Recommendation&#x27;s priority.
   &quot;recommenderSubtype&quot;: &quot;A String&quot;, # Contains an identifier for a subtype of recommendations produced for the same recommender. Subtype is a function of content and impact, meaning a new subtype might be added when significant changes to `content` or `primary_impact.category` are introduced. See the Recommenders section to see a list of subtypes for a given Recommender. Examples: For recommender = &quot;google.iam.policy.Recommender&quot;, recommender_subtype can be one of &quot;REMOVE_ROLE&quot;/&quot;REPLACE_ROLE&quot;
@@ -194,7 +204,7 @@
 
 Args:
   parent: string, Required. The container resource on which to execute the request. Acceptable formats: 1. `projects/[PROJECT_NUMBER]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]` 2. `billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]` 3. `folders/[FOLDER_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]` 4. `organizations/[ORGANIZATION_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]` LOCATION here refers to GCP Locations: https://cloud.google.com/about/locations/ RECOMMENDER_ID refers to supported recommenders: https://cloud.google.com/recommender/docs/recommenders. (required)
-  filter: string, Filter expression to restrict the recommendations returned. Supported filter fields: state_info.state Eg: `state_info.state:&quot;DISMISSED&quot; or state_info.state:&quot;FAILED&quot;
+  filter: string, Filter expression to restrict the recommendations returned. Supported filter fields: * `state_info.state` * `recommenderSubtype` * `priority` Examples: * `stateInfo.state = ACTIVE OR stateInfo.state = DISMISSED` * `recommenderSubtype = REMOVE_ROLE OR recommenderSubtype = REPLACE_ROLE` * `priority = P1 OR priority = P2` * `stateInfo.state = ACTIVE AND (priority = P1 OR priority = P2)` (These expressions are based on the filter language described at https://google.aip.dev/160)
   pageSize: integer, Optional. The maximum number of results to return from this request. Non-positive values are ignored. If not specified, the server will determine the number of results to return.
   pageToken: string, Optional. If present, retrieves the next batch of results from the preceding call to this method. `page_token` must be the value of `next_page_token` from the previous response. The values of other method parameters must be identical to those in the previous call.
   x__xgafv: string, V1 error format.
@@ -220,6 +230,11 @@
             },
             &quot;duration&quot;: &quot;A String&quot;, # Duration for which this cost applies.
           },
+          &quot;securityProjection&quot;: { # Contains various ways of describing the impact on Security. # Use with CategoryType.SECURITY
+            &quot;details&quot;: { # Additional security impact details that is provided by the recommender.
+              &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
+            },
+          },
         },
       ],
       &quot;associatedInsights&quot;: [ # Insights that led to this recommendation.
@@ -269,6 +284,11 @@
           },
           &quot;duration&quot;: &quot;A String&quot;, # Duration for which this cost applies.
         },
+        &quot;securityProjection&quot;: { # Contains various ways of describing the impact on Security. # Use with CategoryType.SECURITY
+          &quot;details&quot;: { # Additional security impact details that is provided by the recommender.
+            &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
+          },
+        },
       },
       &quot;priority&quot;: &quot;A String&quot;, # Recommendation&#x27;s priority.
       &quot;recommenderSubtype&quot;: &quot;A String&quot;, # Contains an identifier for a subtype of recommendations produced for the same recommender. Subtype is a function of content and impact, meaning a new subtype might be added when significant changes to `content` or `primary_impact.category` are introduced. See the Recommenders section to see a list of subtypes for a given Recommender. Examples: For recommender = &quot;google.iam.policy.Recommender&quot;, recommender_subtype can be one of &quot;REMOVE_ROLE&quot;/&quot;REPLACE_ROLE&quot;
@@ -333,6 +353,11 @@
         },
         &quot;duration&quot;: &quot;A String&quot;, # Duration for which this cost applies.
       },
+      &quot;securityProjection&quot;: { # Contains various ways of describing the impact on Security. # Use with CategoryType.SECURITY
+        &quot;details&quot;: { # Additional security impact details that is provided by the recommender.
+          &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
+        },
+      },
     },
   ],
   &quot;associatedInsights&quot;: [ # Insights that led to this recommendation.
@@ -382,6 +407,11 @@
       },
       &quot;duration&quot;: &quot;A String&quot;, # Duration for which this cost applies.
     },
+    &quot;securityProjection&quot;: { # Contains various ways of describing the impact on Security. # Use with CategoryType.SECURITY
+      &quot;details&quot;: { # Additional security impact details that is provided by the recommender.
+        &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
+      },
+    },
   },
   &quot;priority&quot;: &quot;A String&quot;, # Recommendation&#x27;s priority.
   &quot;recommenderSubtype&quot;: &quot;A String&quot;, # Contains an identifier for a subtype of recommendations produced for the same recommender. Subtype is a function of content and impact, meaning a new subtype might be added when significant changes to `content` or `primary_impact.category` are introduced. See the Recommenders section to see a list of subtypes for a given Recommender. Examples: For recommender = &quot;google.iam.policy.Recommender&quot;, recommender_subtype can be one of &quot;REMOVE_ROLE&quot;/&quot;REPLACE_ROLE&quot;
@@ -430,6 +460,11 @@
         },
         &quot;duration&quot;: &quot;A String&quot;, # Duration for which this cost applies.
       },
+      &quot;securityProjection&quot;: { # Contains various ways of describing the impact on Security. # Use with CategoryType.SECURITY
+        &quot;details&quot;: { # Additional security impact details that is provided by the recommender.
+          &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
+        },
+      },
     },
   ],
   &quot;associatedInsights&quot;: [ # Insights that led to this recommendation.
@@ -479,6 +514,11 @@
       },
       &quot;duration&quot;: &quot;A String&quot;, # Duration for which this cost applies.
     },
+    &quot;securityProjection&quot;: { # Contains various ways of describing the impact on Security. # Use with CategoryType.SECURITY
+      &quot;details&quot;: { # Additional security impact details that is provided by the recommender.
+        &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
+      },
+    },
   },
   &quot;priority&quot;: &quot;A String&quot;, # Recommendation&#x27;s priority.
   &quot;recommenderSubtype&quot;: &quot;A String&quot;, # Contains an identifier for a subtype of recommendations produced for the same recommender. Subtype is a function of content and impact, meaning a new subtype might be added when significant changes to `content` or `primary_impact.category` are introduced. See the Recommenders section to see a list of subtypes for a given Recommender. Examples: For recommender = &quot;google.iam.policy.Recommender&quot;, recommender_subtype can be one of &quot;REMOVE_ROLE&quot;/&quot;REPLACE_ROLE&quot;
@@ -527,6 +567,11 @@
         },
         &quot;duration&quot;: &quot;A String&quot;, # Duration for which this cost applies.
       },
+      &quot;securityProjection&quot;: { # Contains various ways of describing the impact on Security. # Use with CategoryType.SECURITY
+        &quot;details&quot;: { # Additional security impact details that is provided by the recommender.
+          &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
+        },
+      },
     },
   ],
   &quot;associatedInsights&quot;: [ # Insights that led to this recommendation.
@@ -576,6 +621,11 @@
       },
       &quot;duration&quot;: &quot;A String&quot;, # Duration for which this cost applies.
     },
+    &quot;securityProjection&quot;: { # Contains various ways of describing the impact on Security. # Use with CategoryType.SECURITY
+      &quot;details&quot;: { # Additional security impact details that is provided by the recommender.
+        &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
+      },
+    },
   },
   &quot;priority&quot;: &quot;A String&quot;, # Recommendation&#x27;s priority.
   &quot;recommenderSubtype&quot;: &quot;A String&quot;, # Contains an identifier for a subtype of recommendations produced for the same recommender. Subtype is a function of content and impact, meaning a new subtype might be added when significant changes to `content` or `primary_impact.category` are introduced. See the Recommenders section to see a list of subtypes for a given Recommender. Examples: For recommender = &quot;google.iam.policy.Recommender&quot;, recommender_subtype can be one of &quot;REMOVE_ROLE&quot;/&quot;REPLACE_ROLE&quot;
diff --git a/docs/dyn/recommender_v1.folders.locations.insightTypes.insights.html b/docs/dyn/recommender_v1.folders.locations.insightTypes.insights.html
index 0d61da6..837d153 100644
--- a/docs/dyn/recommender_v1.folders.locations.insightTypes.insights.html
+++ b/docs/dyn/recommender_v1.folders.locations.insightTypes.insights.html
@@ -144,7 +144,7 @@
 
 Args:
   parent: string, Required. The container resource on which to execute the request. Acceptable formats: 1. `projects/[PROJECT_NUMBER]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]` 2. `billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]` 3. `folders/[FOLDER_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]` 4. `organizations/[ORGANIZATION_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]` LOCATION here refers to GCP Locations: https://cloud.google.com/about/locations/ INSIGHT_TYPE_ID refers to supported insight types: https://cloud.google.com/recommender/docs/insights/insight-types. (required)
-  filter: string, Optional. Filter expression to restrict the insights returned. Supported filter fields: state Eg: `state:&quot;DISMISSED&quot; or state:&quot;ACTIVE&quot;
+  filter: string, Optional. Filter expression to restrict the insights returned. Supported filter fields: * `stateInfo.state` * `insightSubtype` * `severity` Examples: * `stateInfo.state = ACTIVE OR stateInfo.state = DISMISSED` * `insightSubtype = PERMISSIONS_USAGE` * `severity = CRITICAL OR severity = HIGH` * `stateInfo.state = ACTIVE AND (severity = CRITICAL OR severity = HIGH)` (These expressions are based on the filter language described at https://google.aip.dev/160)
   pageSize: integer, Optional. The maximum number of results to return from this request. Non-positive values are ignored. If not specified, the server will determine the number of results to return.
   pageToken: string, Optional. If present, retrieves the next batch of results from the preceding call to this method. `page_token` must be the value of `next_page_token` from the previous response. The values of other method parameters must be identical to those in the previous call.
   x__xgafv: string, V1 error format.
diff --git a/docs/dyn/recommender_v1.folders.locations.recommenders.recommendations.html b/docs/dyn/recommender_v1.folders.locations.recommenders.recommendations.html
index 5ed21ef..3fc9c86 100644
--- a/docs/dyn/recommender_v1.folders.locations.recommenders.recommendations.html
+++ b/docs/dyn/recommender_v1.folders.locations.recommenders.recommendations.html
@@ -127,6 +127,11 @@
         },
         &quot;duration&quot;: &quot;A String&quot;, # Duration for which this cost applies.
       },
+      &quot;securityProjection&quot;: { # Contains various ways of describing the impact on Security. # Use with CategoryType.SECURITY
+        &quot;details&quot;: { # Additional security impact details that is provided by the recommender.
+          &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
+        },
+      },
     },
   ],
   &quot;associatedInsights&quot;: [ # Insights that led to this recommendation.
@@ -176,6 +181,11 @@
       },
       &quot;duration&quot;: &quot;A String&quot;, # Duration for which this cost applies.
     },
+    &quot;securityProjection&quot;: { # Contains various ways of describing the impact on Security. # Use with CategoryType.SECURITY
+      &quot;details&quot;: { # Additional security impact details that is provided by the recommender.
+        &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
+      },
+    },
   },
   &quot;priority&quot;: &quot;A String&quot;, # Recommendation&#x27;s priority.
   &quot;recommenderSubtype&quot;: &quot;A String&quot;, # Contains an identifier for a subtype of recommendations produced for the same recommender. Subtype is a function of content and impact, meaning a new subtype might be added when significant changes to `content` or `primary_impact.category` are introduced. See the Recommenders section to see a list of subtypes for a given Recommender. Examples: For recommender = &quot;google.iam.policy.Recommender&quot;, recommender_subtype can be one of &quot;REMOVE_ROLE&quot;/&quot;REPLACE_ROLE&quot;
@@ -194,7 +204,7 @@
 
 Args:
   parent: string, Required. The container resource on which to execute the request. Acceptable formats: 1. `projects/[PROJECT_NUMBER]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]` 2. `billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]` 3. `folders/[FOLDER_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]` 4. `organizations/[ORGANIZATION_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]` LOCATION here refers to GCP Locations: https://cloud.google.com/about/locations/ RECOMMENDER_ID refers to supported recommenders: https://cloud.google.com/recommender/docs/recommenders. (required)
-  filter: string, Filter expression to restrict the recommendations returned. Supported filter fields: state_info.state Eg: `state_info.state:&quot;DISMISSED&quot; or state_info.state:&quot;FAILED&quot;
+  filter: string, Filter expression to restrict the recommendations returned. Supported filter fields: * `state_info.state` * `recommenderSubtype` * `priority` Examples: * `stateInfo.state = ACTIVE OR stateInfo.state = DISMISSED` * `recommenderSubtype = REMOVE_ROLE OR recommenderSubtype = REPLACE_ROLE` * `priority = P1 OR priority = P2` * `stateInfo.state = ACTIVE AND (priority = P1 OR priority = P2)` (These expressions are based on the filter language described at https://google.aip.dev/160)
   pageSize: integer, Optional. The maximum number of results to return from this request. Non-positive values are ignored. If not specified, the server will determine the number of results to return.
   pageToken: string, Optional. If present, retrieves the next batch of results from the preceding call to this method. `page_token` must be the value of `next_page_token` from the previous response. The values of other method parameters must be identical to those in the previous call.
   x__xgafv: string, V1 error format.
@@ -220,6 +230,11 @@
             },
             &quot;duration&quot;: &quot;A String&quot;, # Duration for which this cost applies.
           },
+          &quot;securityProjection&quot;: { # Contains various ways of describing the impact on Security. # Use with CategoryType.SECURITY
+            &quot;details&quot;: { # Additional security impact details that is provided by the recommender.
+              &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
+            },
+          },
         },
       ],
       &quot;associatedInsights&quot;: [ # Insights that led to this recommendation.
@@ -269,6 +284,11 @@
           },
           &quot;duration&quot;: &quot;A String&quot;, # Duration for which this cost applies.
         },
+        &quot;securityProjection&quot;: { # Contains various ways of describing the impact on Security. # Use with CategoryType.SECURITY
+          &quot;details&quot;: { # Additional security impact details that is provided by the recommender.
+            &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
+          },
+        },
       },
       &quot;priority&quot;: &quot;A String&quot;, # Recommendation&#x27;s priority.
       &quot;recommenderSubtype&quot;: &quot;A String&quot;, # Contains an identifier for a subtype of recommendations produced for the same recommender. Subtype is a function of content and impact, meaning a new subtype might be added when significant changes to `content` or `primary_impact.category` are introduced. See the Recommenders section to see a list of subtypes for a given Recommender. Examples: For recommender = &quot;google.iam.policy.Recommender&quot;, recommender_subtype can be one of &quot;REMOVE_ROLE&quot;/&quot;REPLACE_ROLE&quot;
@@ -333,6 +353,11 @@
         },
         &quot;duration&quot;: &quot;A String&quot;, # Duration for which this cost applies.
       },
+      &quot;securityProjection&quot;: { # Contains various ways of describing the impact on Security. # Use with CategoryType.SECURITY
+        &quot;details&quot;: { # Additional security impact details that is provided by the recommender.
+          &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
+        },
+      },
     },
   ],
   &quot;associatedInsights&quot;: [ # Insights that led to this recommendation.
@@ -382,6 +407,11 @@
       },
       &quot;duration&quot;: &quot;A String&quot;, # Duration for which this cost applies.
     },
+    &quot;securityProjection&quot;: { # Contains various ways of describing the impact on Security. # Use with CategoryType.SECURITY
+      &quot;details&quot;: { # Additional security impact details that is provided by the recommender.
+        &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
+      },
+    },
   },
   &quot;priority&quot;: &quot;A String&quot;, # Recommendation&#x27;s priority.
   &quot;recommenderSubtype&quot;: &quot;A String&quot;, # Contains an identifier for a subtype of recommendations produced for the same recommender. Subtype is a function of content and impact, meaning a new subtype might be added when significant changes to `content` or `primary_impact.category` are introduced. See the Recommenders section to see a list of subtypes for a given Recommender. Examples: For recommender = &quot;google.iam.policy.Recommender&quot;, recommender_subtype can be one of &quot;REMOVE_ROLE&quot;/&quot;REPLACE_ROLE&quot;
@@ -430,6 +460,11 @@
         },
         &quot;duration&quot;: &quot;A String&quot;, # Duration for which this cost applies.
       },
+      &quot;securityProjection&quot;: { # Contains various ways of describing the impact on Security. # Use with CategoryType.SECURITY
+        &quot;details&quot;: { # Additional security impact details that is provided by the recommender.
+          &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
+        },
+      },
     },
   ],
   &quot;associatedInsights&quot;: [ # Insights that led to this recommendation.
@@ -479,6 +514,11 @@
       },
       &quot;duration&quot;: &quot;A String&quot;, # Duration for which this cost applies.
     },
+    &quot;securityProjection&quot;: { # Contains various ways of describing the impact on Security. # Use with CategoryType.SECURITY
+      &quot;details&quot;: { # Additional security impact details that is provided by the recommender.
+        &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
+      },
+    },
   },
   &quot;priority&quot;: &quot;A String&quot;, # Recommendation&#x27;s priority.
   &quot;recommenderSubtype&quot;: &quot;A String&quot;, # Contains an identifier for a subtype of recommendations produced for the same recommender. Subtype is a function of content and impact, meaning a new subtype might be added when significant changes to `content` or `primary_impact.category` are introduced. See the Recommenders section to see a list of subtypes for a given Recommender. Examples: For recommender = &quot;google.iam.policy.Recommender&quot;, recommender_subtype can be one of &quot;REMOVE_ROLE&quot;/&quot;REPLACE_ROLE&quot;
@@ -527,6 +567,11 @@
         },
         &quot;duration&quot;: &quot;A String&quot;, # Duration for which this cost applies.
       },
+      &quot;securityProjection&quot;: { # Contains various ways of describing the impact on Security. # Use with CategoryType.SECURITY
+        &quot;details&quot;: { # Additional security impact details that is provided by the recommender.
+          &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
+        },
+      },
     },
   ],
   &quot;associatedInsights&quot;: [ # Insights that led to this recommendation.
@@ -576,6 +621,11 @@
       },
       &quot;duration&quot;: &quot;A String&quot;, # Duration for which this cost applies.
     },
+    &quot;securityProjection&quot;: { # Contains various ways of describing the impact on Security. # Use with CategoryType.SECURITY
+      &quot;details&quot;: { # Additional security impact details that is provided by the recommender.
+        &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
+      },
+    },
   },
   &quot;priority&quot;: &quot;A String&quot;, # Recommendation&#x27;s priority.
   &quot;recommenderSubtype&quot;: &quot;A String&quot;, # Contains an identifier for a subtype of recommendations produced for the same recommender. Subtype is a function of content and impact, meaning a new subtype might be added when significant changes to `content` or `primary_impact.category` are introduced. See the Recommenders section to see a list of subtypes for a given Recommender. Examples: For recommender = &quot;google.iam.policy.Recommender&quot;, recommender_subtype can be one of &quot;REMOVE_ROLE&quot;/&quot;REPLACE_ROLE&quot;
diff --git a/docs/dyn/recommender_v1.organizations.locations.insightTypes.insights.html b/docs/dyn/recommender_v1.organizations.locations.insightTypes.insights.html
index ac4177a..4620842 100644
--- a/docs/dyn/recommender_v1.organizations.locations.insightTypes.insights.html
+++ b/docs/dyn/recommender_v1.organizations.locations.insightTypes.insights.html
@@ -144,7 +144,7 @@
 
 Args:
   parent: string, Required. The container resource on which to execute the request. Acceptable formats: 1. `projects/[PROJECT_NUMBER]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]` 2. `billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]` 3. `folders/[FOLDER_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]` 4. `organizations/[ORGANIZATION_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]` LOCATION here refers to GCP Locations: https://cloud.google.com/about/locations/ INSIGHT_TYPE_ID refers to supported insight types: https://cloud.google.com/recommender/docs/insights/insight-types. (required)
-  filter: string, Optional. Filter expression to restrict the insights returned. Supported filter fields: state Eg: `state:&quot;DISMISSED&quot; or state:&quot;ACTIVE&quot;
+  filter: string, Optional. Filter expression to restrict the insights returned. Supported filter fields: * `stateInfo.state` * `insightSubtype` * `severity` Examples: * `stateInfo.state = ACTIVE OR stateInfo.state = DISMISSED` * `insightSubtype = PERMISSIONS_USAGE` * `severity = CRITICAL OR severity = HIGH` * `stateInfo.state = ACTIVE AND (severity = CRITICAL OR severity = HIGH)` (These expressions are based on the filter language described at https://google.aip.dev/160)
   pageSize: integer, Optional. The maximum number of results to return from this request. Non-positive values are ignored. If not specified, the server will determine the number of results to return.
   pageToken: string, Optional. If present, retrieves the next batch of results from the preceding call to this method. `page_token` must be the value of `next_page_token` from the previous response. The values of other method parameters must be identical to those in the previous call.
   x__xgafv: string, V1 error format.
diff --git a/docs/dyn/recommender_v1.organizations.locations.recommenders.recommendations.html b/docs/dyn/recommender_v1.organizations.locations.recommenders.recommendations.html
index 748539b..af6b8e3 100644
--- a/docs/dyn/recommender_v1.organizations.locations.recommenders.recommendations.html
+++ b/docs/dyn/recommender_v1.organizations.locations.recommenders.recommendations.html
@@ -127,6 +127,11 @@
         },
         &quot;duration&quot;: &quot;A String&quot;, # Duration for which this cost applies.
       },
+      &quot;securityProjection&quot;: { # Contains various ways of describing the impact on Security. # Use with CategoryType.SECURITY
+        &quot;details&quot;: { # Additional security impact details that is provided by the recommender.
+          &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
+        },
+      },
     },
   ],
   &quot;associatedInsights&quot;: [ # Insights that led to this recommendation.
@@ -176,6 +181,11 @@
       },
       &quot;duration&quot;: &quot;A String&quot;, # Duration for which this cost applies.
     },
+    &quot;securityProjection&quot;: { # Contains various ways of describing the impact on Security. # Use with CategoryType.SECURITY
+      &quot;details&quot;: { # Additional security impact details that is provided by the recommender.
+        &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
+      },
+    },
   },
   &quot;priority&quot;: &quot;A String&quot;, # Recommendation&#x27;s priority.
   &quot;recommenderSubtype&quot;: &quot;A String&quot;, # Contains an identifier for a subtype of recommendations produced for the same recommender. Subtype is a function of content and impact, meaning a new subtype might be added when significant changes to `content` or `primary_impact.category` are introduced. See the Recommenders section to see a list of subtypes for a given Recommender. Examples: For recommender = &quot;google.iam.policy.Recommender&quot;, recommender_subtype can be one of &quot;REMOVE_ROLE&quot;/&quot;REPLACE_ROLE&quot;
@@ -194,7 +204,7 @@
 
 Args:
   parent: string, Required. The container resource on which to execute the request. Acceptable formats: 1. `projects/[PROJECT_NUMBER]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]` 2. `billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]` 3. `folders/[FOLDER_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]` 4. `organizations/[ORGANIZATION_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]` LOCATION here refers to GCP Locations: https://cloud.google.com/about/locations/ RECOMMENDER_ID refers to supported recommenders: https://cloud.google.com/recommender/docs/recommenders. (required)
-  filter: string, Filter expression to restrict the recommendations returned. Supported filter fields: state_info.state Eg: `state_info.state:&quot;DISMISSED&quot; or state_info.state:&quot;FAILED&quot;
+  filter: string, Filter expression to restrict the recommendations returned. Supported filter fields: * `state_info.state` * `recommenderSubtype` * `priority` Examples: * `stateInfo.state = ACTIVE OR stateInfo.state = DISMISSED` * `recommenderSubtype = REMOVE_ROLE OR recommenderSubtype = REPLACE_ROLE` * `priority = P1 OR priority = P2` * `stateInfo.state = ACTIVE AND (priority = P1 OR priority = P2)` (These expressions are based on the filter language described at https://google.aip.dev/160)
   pageSize: integer, Optional. The maximum number of results to return from this request. Non-positive values are ignored. If not specified, the server will determine the number of results to return.
   pageToken: string, Optional. If present, retrieves the next batch of results from the preceding call to this method. `page_token` must be the value of `next_page_token` from the previous response. The values of other method parameters must be identical to those in the previous call.
   x__xgafv: string, V1 error format.
@@ -220,6 +230,11 @@
             },
             &quot;duration&quot;: &quot;A String&quot;, # Duration for which this cost applies.
           },
+          &quot;securityProjection&quot;: { # Contains various ways of describing the impact on Security. # Use with CategoryType.SECURITY
+            &quot;details&quot;: { # Additional security impact details that is provided by the recommender.
+              &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
+            },
+          },
         },
       ],
       &quot;associatedInsights&quot;: [ # Insights that led to this recommendation.
@@ -269,6 +284,11 @@
           },
           &quot;duration&quot;: &quot;A String&quot;, # Duration for which this cost applies.
         },
+        &quot;securityProjection&quot;: { # Contains various ways of describing the impact on Security. # Use with CategoryType.SECURITY
+          &quot;details&quot;: { # Additional security impact details that is provided by the recommender.
+            &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
+          },
+        },
       },
       &quot;priority&quot;: &quot;A String&quot;, # Recommendation&#x27;s priority.
       &quot;recommenderSubtype&quot;: &quot;A String&quot;, # Contains an identifier for a subtype of recommendations produced for the same recommender. Subtype is a function of content and impact, meaning a new subtype might be added when significant changes to `content` or `primary_impact.category` are introduced. See the Recommenders section to see a list of subtypes for a given Recommender. Examples: For recommender = &quot;google.iam.policy.Recommender&quot;, recommender_subtype can be one of &quot;REMOVE_ROLE&quot;/&quot;REPLACE_ROLE&quot;
@@ -333,6 +353,11 @@
         },
         &quot;duration&quot;: &quot;A String&quot;, # Duration for which this cost applies.
       },
+      &quot;securityProjection&quot;: { # Contains various ways of describing the impact on Security. # Use with CategoryType.SECURITY
+        &quot;details&quot;: { # Additional security impact details that is provided by the recommender.
+          &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
+        },
+      },
     },
   ],
   &quot;associatedInsights&quot;: [ # Insights that led to this recommendation.
@@ -382,6 +407,11 @@
       },
       &quot;duration&quot;: &quot;A String&quot;, # Duration for which this cost applies.
     },
+    &quot;securityProjection&quot;: { # Contains various ways of describing the impact on Security. # Use with CategoryType.SECURITY
+      &quot;details&quot;: { # Additional security impact details that is provided by the recommender.
+        &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
+      },
+    },
   },
   &quot;priority&quot;: &quot;A String&quot;, # Recommendation&#x27;s priority.
   &quot;recommenderSubtype&quot;: &quot;A String&quot;, # Contains an identifier for a subtype of recommendations produced for the same recommender. Subtype is a function of content and impact, meaning a new subtype might be added when significant changes to `content` or `primary_impact.category` are introduced. See the Recommenders section to see a list of subtypes for a given Recommender. Examples: For recommender = &quot;google.iam.policy.Recommender&quot;, recommender_subtype can be one of &quot;REMOVE_ROLE&quot;/&quot;REPLACE_ROLE&quot;
@@ -430,6 +460,11 @@
         },
         &quot;duration&quot;: &quot;A String&quot;, # Duration for which this cost applies.
       },
+      &quot;securityProjection&quot;: { # Contains various ways of describing the impact on Security. # Use with CategoryType.SECURITY
+        &quot;details&quot;: { # Additional security impact details that is provided by the recommender.
+          &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
+        },
+      },
     },
   ],
   &quot;associatedInsights&quot;: [ # Insights that led to this recommendation.
@@ -479,6 +514,11 @@
       },
       &quot;duration&quot;: &quot;A String&quot;, # Duration for which this cost applies.
     },
+    &quot;securityProjection&quot;: { # Contains various ways of describing the impact on Security. # Use with CategoryType.SECURITY
+      &quot;details&quot;: { # Additional security impact details that is provided by the recommender.
+        &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
+      },
+    },
   },
   &quot;priority&quot;: &quot;A String&quot;, # Recommendation&#x27;s priority.
   &quot;recommenderSubtype&quot;: &quot;A String&quot;, # Contains an identifier for a subtype of recommendations produced for the same recommender. Subtype is a function of content and impact, meaning a new subtype might be added when significant changes to `content` or `primary_impact.category` are introduced. See the Recommenders section to see a list of subtypes for a given Recommender. Examples: For recommender = &quot;google.iam.policy.Recommender&quot;, recommender_subtype can be one of &quot;REMOVE_ROLE&quot;/&quot;REPLACE_ROLE&quot;
@@ -527,6 +567,11 @@
         },
         &quot;duration&quot;: &quot;A String&quot;, # Duration for which this cost applies.
       },
+      &quot;securityProjection&quot;: { # Contains various ways of describing the impact on Security. # Use with CategoryType.SECURITY
+        &quot;details&quot;: { # Additional security impact details that is provided by the recommender.
+          &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
+        },
+      },
     },
   ],
   &quot;associatedInsights&quot;: [ # Insights that led to this recommendation.
@@ -576,6 +621,11 @@
       },
       &quot;duration&quot;: &quot;A String&quot;, # Duration for which this cost applies.
     },
+    &quot;securityProjection&quot;: { # Contains various ways of describing the impact on Security. # Use with CategoryType.SECURITY
+      &quot;details&quot;: { # Additional security impact details that is provided by the recommender.
+        &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
+      },
+    },
   },
   &quot;priority&quot;: &quot;A String&quot;, # Recommendation&#x27;s priority.
   &quot;recommenderSubtype&quot;: &quot;A String&quot;, # Contains an identifier for a subtype of recommendations produced for the same recommender. Subtype is a function of content and impact, meaning a new subtype might be added when significant changes to `content` or `primary_impact.category` are introduced. See the Recommenders section to see a list of subtypes for a given Recommender. Examples: For recommender = &quot;google.iam.policy.Recommender&quot;, recommender_subtype can be one of &quot;REMOVE_ROLE&quot;/&quot;REPLACE_ROLE&quot;
diff --git a/docs/dyn/recommender_v1.projects.locations.insightTypes.insights.html b/docs/dyn/recommender_v1.projects.locations.insightTypes.insights.html
index 6856a38..61326a1 100644
--- a/docs/dyn/recommender_v1.projects.locations.insightTypes.insights.html
+++ b/docs/dyn/recommender_v1.projects.locations.insightTypes.insights.html
@@ -144,7 +144,7 @@
 
 Args:
   parent: string, Required. The container resource on which to execute the request. Acceptable formats: 1. `projects/[PROJECT_NUMBER]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]` 2. `billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]` 3. `folders/[FOLDER_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]` 4. `organizations/[ORGANIZATION_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]` LOCATION here refers to GCP Locations: https://cloud.google.com/about/locations/ INSIGHT_TYPE_ID refers to supported insight types: https://cloud.google.com/recommender/docs/insights/insight-types. (required)
-  filter: string, Optional. Filter expression to restrict the insights returned. Supported filter fields: state Eg: `state:&quot;DISMISSED&quot; or state:&quot;ACTIVE&quot;
+  filter: string, Optional. Filter expression to restrict the insights returned. Supported filter fields: * `stateInfo.state` * `insightSubtype` * `severity` Examples: * `stateInfo.state = ACTIVE OR stateInfo.state = DISMISSED` * `insightSubtype = PERMISSIONS_USAGE` * `severity = CRITICAL OR severity = HIGH` * `stateInfo.state = ACTIVE AND (severity = CRITICAL OR severity = HIGH)` (These expressions are based on the filter language described at https://google.aip.dev/160)
   pageSize: integer, Optional. The maximum number of results to return from this request. Non-positive values are ignored. If not specified, the server will determine the number of results to return.
   pageToken: string, Optional. If present, retrieves the next batch of results from the preceding call to this method. `page_token` must be the value of `next_page_token` from the previous response. The values of other method parameters must be identical to those in the previous call.
   x__xgafv: string, V1 error format.
diff --git a/docs/dyn/recommender_v1.projects.locations.recommenders.recommendations.html b/docs/dyn/recommender_v1.projects.locations.recommenders.recommendations.html
index 8e07e27..1586c73 100644
--- a/docs/dyn/recommender_v1.projects.locations.recommenders.recommendations.html
+++ b/docs/dyn/recommender_v1.projects.locations.recommenders.recommendations.html
@@ -127,6 +127,11 @@
         },
         &quot;duration&quot;: &quot;A String&quot;, # Duration for which this cost applies.
       },
+      &quot;securityProjection&quot;: { # Contains various ways of describing the impact on Security. # Use with CategoryType.SECURITY
+        &quot;details&quot;: { # Additional security impact details that is provided by the recommender.
+          &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
+        },
+      },
     },
   ],
   &quot;associatedInsights&quot;: [ # Insights that led to this recommendation.
@@ -176,6 +181,11 @@
       },
       &quot;duration&quot;: &quot;A String&quot;, # Duration for which this cost applies.
     },
+    &quot;securityProjection&quot;: { # Contains various ways of describing the impact on Security. # Use with CategoryType.SECURITY
+      &quot;details&quot;: { # Additional security impact details that is provided by the recommender.
+        &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
+      },
+    },
   },
   &quot;priority&quot;: &quot;A String&quot;, # Recommendation&#x27;s priority.
   &quot;recommenderSubtype&quot;: &quot;A String&quot;, # Contains an identifier for a subtype of recommendations produced for the same recommender. Subtype is a function of content and impact, meaning a new subtype might be added when significant changes to `content` or `primary_impact.category` are introduced. See the Recommenders section to see a list of subtypes for a given Recommender. Examples: For recommender = &quot;google.iam.policy.Recommender&quot;, recommender_subtype can be one of &quot;REMOVE_ROLE&quot;/&quot;REPLACE_ROLE&quot;
@@ -194,7 +204,7 @@
 
 Args:
   parent: string, Required. The container resource on which to execute the request. Acceptable formats: 1. `projects/[PROJECT_NUMBER]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]` 2. `billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]` 3. `folders/[FOLDER_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]` 4. `organizations/[ORGANIZATION_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]` LOCATION here refers to GCP Locations: https://cloud.google.com/about/locations/ RECOMMENDER_ID refers to supported recommenders: https://cloud.google.com/recommender/docs/recommenders. (required)
-  filter: string, Filter expression to restrict the recommendations returned. Supported filter fields: state_info.state Eg: `state_info.state:&quot;DISMISSED&quot; or state_info.state:&quot;FAILED&quot;
+  filter: string, Filter expression to restrict the recommendations returned. Supported filter fields: * `state_info.state` * `recommenderSubtype` * `priority` Examples: * `stateInfo.state = ACTIVE OR stateInfo.state = DISMISSED` * `recommenderSubtype = REMOVE_ROLE OR recommenderSubtype = REPLACE_ROLE` * `priority = P1 OR priority = P2` * `stateInfo.state = ACTIVE AND (priority = P1 OR priority = P2)` (These expressions are based on the filter language described at https://google.aip.dev/160)
   pageSize: integer, Optional. The maximum number of results to return from this request. Non-positive values are ignored. If not specified, the server will determine the number of results to return.
   pageToken: string, Optional. If present, retrieves the next batch of results from the preceding call to this method. `page_token` must be the value of `next_page_token` from the previous response. The values of other method parameters must be identical to those in the previous call.
   x__xgafv: string, V1 error format.
@@ -220,6 +230,11 @@
             },
             &quot;duration&quot;: &quot;A String&quot;, # Duration for which this cost applies.
           },
+          &quot;securityProjection&quot;: { # Contains various ways of describing the impact on Security. # Use with CategoryType.SECURITY
+            &quot;details&quot;: { # Additional security impact details that is provided by the recommender.
+              &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
+            },
+          },
         },
       ],
       &quot;associatedInsights&quot;: [ # Insights that led to this recommendation.
@@ -269,6 +284,11 @@
           },
           &quot;duration&quot;: &quot;A String&quot;, # Duration for which this cost applies.
         },
+        &quot;securityProjection&quot;: { # Contains various ways of describing the impact on Security. # Use with CategoryType.SECURITY
+          &quot;details&quot;: { # Additional security impact details that is provided by the recommender.
+            &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
+          },
+        },
       },
       &quot;priority&quot;: &quot;A String&quot;, # Recommendation&#x27;s priority.
       &quot;recommenderSubtype&quot;: &quot;A String&quot;, # Contains an identifier for a subtype of recommendations produced for the same recommender. Subtype is a function of content and impact, meaning a new subtype might be added when significant changes to `content` or `primary_impact.category` are introduced. See the Recommenders section to see a list of subtypes for a given Recommender. Examples: For recommender = &quot;google.iam.policy.Recommender&quot;, recommender_subtype can be one of &quot;REMOVE_ROLE&quot;/&quot;REPLACE_ROLE&quot;
@@ -333,6 +353,11 @@
         },
         &quot;duration&quot;: &quot;A String&quot;, # Duration for which this cost applies.
       },
+      &quot;securityProjection&quot;: { # Contains various ways of describing the impact on Security. # Use with CategoryType.SECURITY
+        &quot;details&quot;: { # Additional security impact details that is provided by the recommender.
+          &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
+        },
+      },
     },
   ],
   &quot;associatedInsights&quot;: [ # Insights that led to this recommendation.
@@ -382,6 +407,11 @@
       },
       &quot;duration&quot;: &quot;A String&quot;, # Duration for which this cost applies.
     },
+    &quot;securityProjection&quot;: { # Contains various ways of describing the impact on Security. # Use with CategoryType.SECURITY
+      &quot;details&quot;: { # Additional security impact details that is provided by the recommender.
+        &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
+      },
+    },
   },
   &quot;priority&quot;: &quot;A String&quot;, # Recommendation&#x27;s priority.
   &quot;recommenderSubtype&quot;: &quot;A String&quot;, # Contains an identifier for a subtype of recommendations produced for the same recommender. Subtype is a function of content and impact, meaning a new subtype might be added when significant changes to `content` or `primary_impact.category` are introduced. See the Recommenders section to see a list of subtypes for a given Recommender. Examples: For recommender = &quot;google.iam.policy.Recommender&quot;, recommender_subtype can be one of &quot;REMOVE_ROLE&quot;/&quot;REPLACE_ROLE&quot;
@@ -430,6 +460,11 @@
         },
         &quot;duration&quot;: &quot;A String&quot;, # Duration for which this cost applies.
       },
+      &quot;securityProjection&quot;: { # Contains various ways of describing the impact on Security. # Use with CategoryType.SECURITY
+        &quot;details&quot;: { # Additional security impact details that is provided by the recommender.
+          &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
+        },
+      },
     },
   ],
   &quot;associatedInsights&quot;: [ # Insights that led to this recommendation.
@@ -479,6 +514,11 @@
       },
       &quot;duration&quot;: &quot;A String&quot;, # Duration for which this cost applies.
     },
+    &quot;securityProjection&quot;: { # Contains various ways of describing the impact on Security. # Use with CategoryType.SECURITY
+      &quot;details&quot;: { # Additional security impact details that is provided by the recommender.
+        &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
+      },
+    },
   },
   &quot;priority&quot;: &quot;A String&quot;, # Recommendation&#x27;s priority.
   &quot;recommenderSubtype&quot;: &quot;A String&quot;, # Contains an identifier for a subtype of recommendations produced for the same recommender. Subtype is a function of content and impact, meaning a new subtype might be added when significant changes to `content` or `primary_impact.category` are introduced. See the Recommenders section to see a list of subtypes for a given Recommender. Examples: For recommender = &quot;google.iam.policy.Recommender&quot;, recommender_subtype can be one of &quot;REMOVE_ROLE&quot;/&quot;REPLACE_ROLE&quot;
@@ -527,6 +567,11 @@
         },
         &quot;duration&quot;: &quot;A String&quot;, # Duration for which this cost applies.
       },
+      &quot;securityProjection&quot;: { # Contains various ways of describing the impact on Security. # Use with CategoryType.SECURITY
+        &quot;details&quot;: { # Additional security impact details that is provided by the recommender.
+          &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
+        },
+      },
     },
   ],
   &quot;associatedInsights&quot;: [ # Insights that led to this recommendation.
@@ -576,6 +621,11 @@
       },
       &quot;duration&quot;: &quot;A String&quot;, # Duration for which this cost applies.
     },
+    &quot;securityProjection&quot;: { # Contains various ways of describing the impact on Security. # Use with CategoryType.SECURITY
+      &quot;details&quot;: { # Additional security impact details that is provided by the recommender.
+        &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
+      },
+    },
   },
   &quot;priority&quot;: &quot;A String&quot;, # Recommendation&#x27;s priority.
   &quot;recommenderSubtype&quot;: &quot;A String&quot;, # Contains an identifier for a subtype of recommendations produced for the same recommender. Subtype is a function of content and impact, meaning a new subtype might be added when significant changes to `content` or `primary_impact.category` are introduced. See the Recommenders section to see a list of subtypes for a given Recommender. Examples: For recommender = &quot;google.iam.policy.Recommender&quot;, recommender_subtype can be one of &quot;REMOVE_ROLE&quot;/&quot;REPLACE_ROLE&quot;
diff --git a/docs/dyn/recommender_v1beta1.billingAccounts.locations.insightTypes.insights.html b/docs/dyn/recommender_v1beta1.billingAccounts.locations.insightTypes.insights.html
index aefbe22..01d6419 100644
--- a/docs/dyn/recommender_v1beta1.billingAccounts.locations.insightTypes.insights.html
+++ b/docs/dyn/recommender_v1beta1.billingAccounts.locations.insightTypes.insights.html
@@ -144,7 +144,7 @@
 
 Args:
   parent: string, Required. The container resource on which to execute the request. Acceptable formats: 1. `projects/[PROJECT_NUMBER]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]` 2. `billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]` 3. `folders/[FOLDER_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]` 4. `organizations/[ORGANIZATION_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]` LOCATION here refers to GCP Locations: https://cloud.google.com/about/locations/ INSIGHT_TYPE_ID refers to supported insight types: https://cloud.google.com/recommender/docs/insights/insight-types. (required)
-  filter: string, Optional. Filter expression to restrict the insights returned. Supported filter fields: state Eg: `state:&quot;DISMISSED&quot; or state:&quot;ACTIVE&quot;
+  filter: string, Optional. Filter expression to restrict the insights returned. Supported filter fields: * `stateInfo.state` * `insightSubtype` * `severity` Examples: * `stateInfo.state = ACTIVE OR stateInfo.state = DISMISSED` * `insightSubtype = PERMISSIONS_USAGE` * `severity = CRITICAL OR severity = HIGH` * `stateInfo.state = ACTIVE AND (severity = CRITICAL OR severity = HIGH)` (These expressions are based on the filter language described at https://google.aip.dev/160)
   pageSize: integer, Optional. The maximum number of results to return from this request. Non-positive values are ignored. If not specified, the server will determine the number of results to return.
   pageToken: string, Optional. If present, retrieves the next batch of results from the preceding call to this method. `page_token` must be the value of `next_page_token` from the previous response. The values of other method parameters must be identical to those in the previous call.
   x__xgafv: string, V1 error format.
diff --git a/docs/dyn/recommender_v1beta1.billingAccounts.locations.recommenders.recommendations.html b/docs/dyn/recommender_v1beta1.billingAccounts.locations.recommenders.recommendations.html
index f5259bf..25e4ddb 100644
--- a/docs/dyn/recommender_v1beta1.billingAccounts.locations.recommenders.recommendations.html
+++ b/docs/dyn/recommender_v1beta1.billingAccounts.locations.recommenders.recommendations.html
@@ -127,6 +127,11 @@
         },
         &quot;duration&quot;: &quot;A String&quot;, # Duration for which this cost applies.
       },
+      &quot;securityProjection&quot;: { # Contains various ways of describing the impact on Security. # Use with CategoryType.SECURITY
+        &quot;details&quot;: { # This field can be used by the recommender to define details specific to security impact.
+          &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
+        },
+      },
     },
   ],
   &quot;associatedInsights&quot;: [ # Insights that led to this recommendation.
@@ -176,6 +181,11 @@
       },
       &quot;duration&quot;: &quot;A String&quot;, # Duration for which this cost applies.
     },
+    &quot;securityProjection&quot;: { # Contains various ways of describing the impact on Security. # Use with CategoryType.SECURITY
+      &quot;details&quot;: { # This field can be used by the recommender to define details specific to security impact.
+        &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
+      },
+    },
   },
   &quot;priority&quot;: &quot;A String&quot;, # Recommendation&#x27;s priority.
   &quot;recommenderSubtype&quot;: &quot;A String&quot;, # Contains an identifier for a subtype of recommendations produced for the same recommender. Subtype is a function of content and impact, meaning a new subtype might be added when significant changes to `content` or `primary_impact.category` are introduced. See the Recommenders section to see a list of subtypes for a given Recommender. Examples: For recommender = &quot;google.iam.policy.Recommender&quot;, recommender_subtype can be one of &quot;REMOVE_ROLE&quot;/&quot;REPLACE_ROLE&quot;
@@ -194,7 +204,7 @@
 
 Args:
   parent: string, Required. The container resource on which to execute the request. Acceptable formats: 1. `projects/[PROJECT_NUMBER]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]` 2. `billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]` 3. `folders/[FOLDER_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]` 4. `organizations/[ORGANIZATION_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]` LOCATION here refers to GCP Locations: https://cloud.google.com/about/locations/ RECOMMENDER_ID refers to supported recommenders: https://cloud.google.com/recommender/docs/recommenders. (required)
-  filter: string, Filter expression to restrict the recommendations returned. Supported filter fields: state_info.state Eg: `state_info.state:&quot;DISMISSED&quot; or state_info.state:&quot;FAILED&quot;
+  filter: string, Filter expression to restrict the recommendations returned. Supported filter fields: * `state_info.state` * `recommenderSubtype` * `priority` Examples: * `stateInfo.state = ACTIVE OR stateInfo.state = DISMISSED` * `recommenderSubtype = REMOVE_ROLE OR recommenderSubtype = REPLACE_ROLE` * `priority = P1 OR priority = P2` * `stateInfo.state = ACTIVE AND (priority = P1 OR priority = P2)` (These expressions are based on the filter language described at https://google.aip.dev/160)
   pageSize: integer, Optional. The maximum number of results to return from this request. Non-positive values are ignored. If not specified, the server will determine the number of results to return.
   pageToken: string, Optional. If present, retrieves the next batch of results from the preceding call to this method. `page_token` must be the value of `next_page_token` from the previous response. The values of other method parameters must be identical to those in the previous call.
   x__xgafv: string, V1 error format.
@@ -220,6 +230,11 @@
             },
             &quot;duration&quot;: &quot;A String&quot;, # Duration for which this cost applies.
           },
+          &quot;securityProjection&quot;: { # Contains various ways of describing the impact on Security. # Use with CategoryType.SECURITY
+            &quot;details&quot;: { # This field can be used by the recommender to define details specific to security impact.
+              &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
+            },
+          },
         },
       ],
       &quot;associatedInsights&quot;: [ # Insights that led to this recommendation.
@@ -269,6 +284,11 @@
           },
           &quot;duration&quot;: &quot;A String&quot;, # Duration for which this cost applies.
         },
+        &quot;securityProjection&quot;: { # Contains various ways of describing the impact on Security. # Use with CategoryType.SECURITY
+          &quot;details&quot;: { # This field can be used by the recommender to define details specific to security impact.
+            &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
+          },
+        },
       },
       &quot;priority&quot;: &quot;A String&quot;, # Recommendation&#x27;s priority.
       &quot;recommenderSubtype&quot;: &quot;A String&quot;, # Contains an identifier for a subtype of recommendations produced for the same recommender. Subtype is a function of content and impact, meaning a new subtype might be added when significant changes to `content` or `primary_impact.category` are introduced. See the Recommenders section to see a list of subtypes for a given Recommender. Examples: For recommender = &quot;google.iam.policy.Recommender&quot;, recommender_subtype can be one of &quot;REMOVE_ROLE&quot;/&quot;REPLACE_ROLE&quot;
@@ -333,6 +353,11 @@
         },
         &quot;duration&quot;: &quot;A String&quot;, # Duration for which this cost applies.
       },
+      &quot;securityProjection&quot;: { # Contains various ways of describing the impact on Security. # Use with CategoryType.SECURITY
+        &quot;details&quot;: { # This field can be used by the recommender to define details specific to security impact.
+          &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
+        },
+      },
     },
   ],
   &quot;associatedInsights&quot;: [ # Insights that led to this recommendation.
@@ -382,6 +407,11 @@
       },
       &quot;duration&quot;: &quot;A String&quot;, # Duration for which this cost applies.
     },
+    &quot;securityProjection&quot;: { # Contains various ways of describing the impact on Security. # Use with CategoryType.SECURITY
+      &quot;details&quot;: { # This field can be used by the recommender to define details specific to security impact.
+        &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
+      },
+    },
   },
   &quot;priority&quot;: &quot;A String&quot;, # Recommendation&#x27;s priority.
   &quot;recommenderSubtype&quot;: &quot;A String&quot;, # Contains an identifier for a subtype of recommendations produced for the same recommender. Subtype is a function of content and impact, meaning a new subtype might be added when significant changes to `content` or `primary_impact.category` are introduced. See the Recommenders section to see a list of subtypes for a given Recommender. Examples: For recommender = &quot;google.iam.policy.Recommender&quot;, recommender_subtype can be one of &quot;REMOVE_ROLE&quot;/&quot;REPLACE_ROLE&quot;
@@ -430,6 +460,11 @@
         },
         &quot;duration&quot;: &quot;A String&quot;, # Duration for which this cost applies.
       },
+      &quot;securityProjection&quot;: { # Contains various ways of describing the impact on Security. # Use with CategoryType.SECURITY
+        &quot;details&quot;: { # This field can be used by the recommender to define details specific to security impact.
+          &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
+        },
+      },
     },
   ],
   &quot;associatedInsights&quot;: [ # Insights that led to this recommendation.
@@ -479,6 +514,11 @@
       },
       &quot;duration&quot;: &quot;A String&quot;, # Duration for which this cost applies.
     },
+    &quot;securityProjection&quot;: { # Contains various ways of describing the impact on Security. # Use with CategoryType.SECURITY
+      &quot;details&quot;: { # This field can be used by the recommender to define details specific to security impact.
+        &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
+      },
+    },
   },
   &quot;priority&quot;: &quot;A String&quot;, # Recommendation&#x27;s priority.
   &quot;recommenderSubtype&quot;: &quot;A String&quot;, # Contains an identifier for a subtype of recommendations produced for the same recommender. Subtype is a function of content and impact, meaning a new subtype might be added when significant changes to `content` or `primary_impact.category` are introduced. See the Recommenders section to see a list of subtypes for a given Recommender. Examples: For recommender = &quot;google.iam.policy.Recommender&quot;, recommender_subtype can be one of &quot;REMOVE_ROLE&quot;/&quot;REPLACE_ROLE&quot;
@@ -527,6 +567,11 @@
         },
         &quot;duration&quot;: &quot;A String&quot;, # Duration for which this cost applies.
       },
+      &quot;securityProjection&quot;: { # Contains various ways of describing the impact on Security. # Use with CategoryType.SECURITY
+        &quot;details&quot;: { # This field can be used by the recommender to define details specific to security impact.
+          &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
+        },
+      },
     },
   ],
   &quot;associatedInsights&quot;: [ # Insights that led to this recommendation.
@@ -576,6 +621,11 @@
       },
       &quot;duration&quot;: &quot;A String&quot;, # Duration for which this cost applies.
     },
+    &quot;securityProjection&quot;: { # Contains various ways of describing the impact on Security. # Use with CategoryType.SECURITY
+      &quot;details&quot;: { # This field can be used by the recommender to define details specific to security impact.
+        &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
+      },
+    },
   },
   &quot;priority&quot;: &quot;A String&quot;, # Recommendation&#x27;s priority.
   &quot;recommenderSubtype&quot;: &quot;A String&quot;, # Contains an identifier for a subtype of recommendations produced for the same recommender. Subtype is a function of content and impact, meaning a new subtype might be added when significant changes to `content` or `primary_impact.category` are introduced. See the Recommenders section to see a list of subtypes for a given Recommender. Examples: For recommender = &quot;google.iam.policy.Recommender&quot;, recommender_subtype can be one of &quot;REMOVE_ROLE&quot;/&quot;REPLACE_ROLE&quot;
diff --git a/docs/dyn/recommender_v1beta1.folders.locations.insightTypes.insights.html b/docs/dyn/recommender_v1beta1.folders.locations.insightTypes.insights.html
index c567602..a2025fe 100644
--- a/docs/dyn/recommender_v1beta1.folders.locations.insightTypes.insights.html
+++ b/docs/dyn/recommender_v1beta1.folders.locations.insightTypes.insights.html
@@ -144,7 +144,7 @@
 
 Args:
   parent: string, Required. The container resource on which to execute the request. Acceptable formats: 1. `projects/[PROJECT_NUMBER]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]` 2. `billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]` 3. `folders/[FOLDER_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]` 4. `organizations/[ORGANIZATION_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]` LOCATION here refers to GCP Locations: https://cloud.google.com/about/locations/ INSIGHT_TYPE_ID refers to supported insight types: https://cloud.google.com/recommender/docs/insights/insight-types. (required)
-  filter: string, Optional. Filter expression to restrict the insights returned. Supported filter fields: state Eg: `state:&quot;DISMISSED&quot; or state:&quot;ACTIVE&quot;
+  filter: string, Optional. Filter expression to restrict the insights returned. Supported filter fields: * `stateInfo.state` * `insightSubtype` * `severity` Examples: * `stateInfo.state = ACTIVE OR stateInfo.state = DISMISSED` * `insightSubtype = PERMISSIONS_USAGE` * `severity = CRITICAL OR severity = HIGH` * `stateInfo.state = ACTIVE AND (severity = CRITICAL OR severity = HIGH)` (These expressions are based on the filter language described at https://google.aip.dev/160)
   pageSize: integer, Optional. The maximum number of results to return from this request. Non-positive values are ignored. If not specified, the server will determine the number of results to return.
   pageToken: string, Optional. If present, retrieves the next batch of results from the preceding call to this method. `page_token` must be the value of `next_page_token` from the previous response. The values of other method parameters must be identical to those in the previous call.
   x__xgafv: string, V1 error format.
diff --git a/docs/dyn/recommender_v1beta1.folders.locations.recommenders.recommendations.html b/docs/dyn/recommender_v1beta1.folders.locations.recommenders.recommendations.html
index a1e5292..12b8923 100644
--- a/docs/dyn/recommender_v1beta1.folders.locations.recommenders.recommendations.html
+++ b/docs/dyn/recommender_v1beta1.folders.locations.recommenders.recommendations.html
@@ -127,6 +127,11 @@
         },
         &quot;duration&quot;: &quot;A String&quot;, # Duration for which this cost applies.
       },
+      &quot;securityProjection&quot;: { # Contains various ways of describing the impact on Security. # Use with CategoryType.SECURITY
+        &quot;details&quot;: { # This field can be used by the recommender to define details specific to security impact.
+          &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
+        },
+      },
     },
   ],
   &quot;associatedInsights&quot;: [ # Insights that led to this recommendation.
@@ -176,6 +181,11 @@
       },
       &quot;duration&quot;: &quot;A String&quot;, # Duration for which this cost applies.
     },
+    &quot;securityProjection&quot;: { # Contains various ways of describing the impact on Security. # Use with CategoryType.SECURITY
+      &quot;details&quot;: { # This field can be used by the recommender to define details specific to security impact.
+        &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
+      },
+    },
   },
   &quot;priority&quot;: &quot;A String&quot;, # Recommendation&#x27;s priority.
   &quot;recommenderSubtype&quot;: &quot;A String&quot;, # Contains an identifier for a subtype of recommendations produced for the same recommender. Subtype is a function of content and impact, meaning a new subtype might be added when significant changes to `content` or `primary_impact.category` are introduced. See the Recommenders section to see a list of subtypes for a given Recommender. Examples: For recommender = &quot;google.iam.policy.Recommender&quot;, recommender_subtype can be one of &quot;REMOVE_ROLE&quot;/&quot;REPLACE_ROLE&quot;
@@ -194,7 +204,7 @@
 
 Args:
   parent: string, Required. The container resource on which to execute the request. Acceptable formats: 1. `projects/[PROJECT_NUMBER]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]` 2. `billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]` 3. `folders/[FOLDER_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]` 4. `organizations/[ORGANIZATION_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]` LOCATION here refers to GCP Locations: https://cloud.google.com/about/locations/ RECOMMENDER_ID refers to supported recommenders: https://cloud.google.com/recommender/docs/recommenders. (required)
-  filter: string, Filter expression to restrict the recommendations returned. Supported filter fields: state_info.state Eg: `state_info.state:&quot;DISMISSED&quot; or state_info.state:&quot;FAILED&quot;
+  filter: string, Filter expression to restrict the recommendations returned. Supported filter fields: * `state_info.state` * `recommenderSubtype` * `priority` Examples: * `stateInfo.state = ACTIVE OR stateInfo.state = DISMISSED` * `recommenderSubtype = REMOVE_ROLE OR recommenderSubtype = REPLACE_ROLE` * `priority = P1 OR priority = P2` * `stateInfo.state = ACTIVE AND (priority = P1 OR priority = P2)` (These expressions are based on the filter language described at https://google.aip.dev/160)
   pageSize: integer, Optional. The maximum number of results to return from this request. Non-positive values are ignored. If not specified, the server will determine the number of results to return.
   pageToken: string, Optional. If present, retrieves the next batch of results from the preceding call to this method. `page_token` must be the value of `next_page_token` from the previous response. The values of other method parameters must be identical to those in the previous call.
   x__xgafv: string, V1 error format.
@@ -220,6 +230,11 @@
             },
             &quot;duration&quot;: &quot;A String&quot;, # Duration for which this cost applies.
           },
+          &quot;securityProjection&quot;: { # Contains various ways of describing the impact on Security. # Use with CategoryType.SECURITY
+            &quot;details&quot;: { # This field can be used by the recommender to define details specific to security impact.
+              &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
+            },
+          },
         },
       ],
       &quot;associatedInsights&quot;: [ # Insights that led to this recommendation.
@@ -269,6 +284,11 @@
           },
           &quot;duration&quot;: &quot;A String&quot;, # Duration for which this cost applies.
         },
+        &quot;securityProjection&quot;: { # Contains various ways of describing the impact on Security. # Use with CategoryType.SECURITY
+          &quot;details&quot;: { # This field can be used by the recommender to define details specific to security impact.
+            &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
+          },
+        },
       },
       &quot;priority&quot;: &quot;A String&quot;, # Recommendation&#x27;s priority.
       &quot;recommenderSubtype&quot;: &quot;A String&quot;, # Contains an identifier for a subtype of recommendations produced for the same recommender. Subtype is a function of content and impact, meaning a new subtype might be added when significant changes to `content` or `primary_impact.category` are introduced. See the Recommenders section to see a list of subtypes for a given Recommender. Examples: For recommender = &quot;google.iam.policy.Recommender&quot;, recommender_subtype can be one of &quot;REMOVE_ROLE&quot;/&quot;REPLACE_ROLE&quot;
@@ -333,6 +353,11 @@
         },
         &quot;duration&quot;: &quot;A String&quot;, # Duration for which this cost applies.
       },
+      &quot;securityProjection&quot;: { # Contains various ways of describing the impact on Security. # Use with CategoryType.SECURITY
+        &quot;details&quot;: { # This field can be used by the recommender to define details specific to security impact.
+          &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
+        },
+      },
     },
   ],
   &quot;associatedInsights&quot;: [ # Insights that led to this recommendation.
@@ -382,6 +407,11 @@
       },
       &quot;duration&quot;: &quot;A String&quot;, # Duration for which this cost applies.
     },
+    &quot;securityProjection&quot;: { # Contains various ways of describing the impact on Security. # Use with CategoryType.SECURITY
+      &quot;details&quot;: { # This field can be used by the recommender to define details specific to security impact.
+        &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
+      },
+    },
   },
   &quot;priority&quot;: &quot;A String&quot;, # Recommendation&#x27;s priority.
   &quot;recommenderSubtype&quot;: &quot;A String&quot;, # Contains an identifier for a subtype of recommendations produced for the same recommender. Subtype is a function of content and impact, meaning a new subtype might be added when significant changes to `content` or `primary_impact.category` are introduced. See the Recommenders section to see a list of subtypes for a given Recommender. Examples: For recommender = &quot;google.iam.policy.Recommender&quot;, recommender_subtype can be one of &quot;REMOVE_ROLE&quot;/&quot;REPLACE_ROLE&quot;
@@ -430,6 +460,11 @@
         },
         &quot;duration&quot;: &quot;A String&quot;, # Duration for which this cost applies.
       },
+      &quot;securityProjection&quot;: { # Contains various ways of describing the impact on Security. # Use with CategoryType.SECURITY
+        &quot;details&quot;: { # This field can be used by the recommender to define details specific to security impact.
+          &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
+        },
+      },
     },
   ],
   &quot;associatedInsights&quot;: [ # Insights that led to this recommendation.
@@ -479,6 +514,11 @@
       },
       &quot;duration&quot;: &quot;A String&quot;, # Duration for which this cost applies.
     },
+    &quot;securityProjection&quot;: { # Contains various ways of describing the impact on Security. # Use with CategoryType.SECURITY
+      &quot;details&quot;: { # This field can be used by the recommender to define details specific to security impact.
+        &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
+      },
+    },
   },
   &quot;priority&quot;: &quot;A String&quot;, # Recommendation&#x27;s priority.
   &quot;recommenderSubtype&quot;: &quot;A String&quot;, # Contains an identifier for a subtype of recommendations produced for the same recommender. Subtype is a function of content and impact, meaning a new subtype might be added when significant changes to `content` or `primary_impact.category` are introduced. See the Recommenders section to see a list of subtypes for a given Recommender. Examples: For recommender = &quot;google.iam.policy.Recommender&quot;, recommender_subtype can be one of &quot;REMOVE_ROLE&quot;/&quot;REPLACE_ROLE&quot;
@@ -527,6 +567,11 @@
         },
         &quot;duration&quot;: &quot;A String&quot;, # Duration for which this cost applies.
       },
+      &quot;securityProjection&quot;: { # Contains various ways of describing the impact on Security. # Use with CategoryType.SECURITY
+        &quot;details&quot;: { # This field can be used by the recommender to define details specific to security impact.
+          &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
+        },
+      },
     },
   ],
   &quot;associatedInsights&quot;: [ # Insights that led to this recommendation.
@@ -576,6 +621,11 @@
       },
       &quot;duration&quot;: &quot;A String&quot;, # Duration for which this cost applies.
     },
+    &quot;securityProjection&quot;: { # Contains various ways of describing the impact on Security. # Use with CategoryType.SECURITY
+      &quot;details&quot;: { # This field can be used by the recommender to define details specific to security impact.
+        &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
+      },
+    },
   },
   &quot;priority&quot;: &quot;A String&quot;, # Recommendation&#x27;s priority.
   &quot;recommenderSubtype&quot;: &quot;A String&quot;, # Contains an identifier for a subtype of recommendations produced for the same recommender. Subtype is a function of content and impact, meaning a new subtype might be added when significant changes to `content` or `primary_impact.category` are introduced. See the Recommenders section to see a list of subtypes for a given Recommender. Examples: For recommender = &quot;google.iam.policy.Recommender&quot;, recommender_subtype can be one of &quot;REMOVE_ROLE&quot;/&quot;REPLACE_ROLE&quot;
diff --git a/docs/dyn/recommender_v1beta1.organizations.locations.insightTypes.insights.html b/docs/dyn/recommender_v1beta1.organizations.locations.insightTypes.insights.html
index cfcc809..b2a5e58 100644
--- a/docs/dyn/recommender_v1beta1.organizations.locations.insightTypes.insights.html
+++ b/docs/dyn/recommender_v1beta1.organizations.locations.insightTypes.insights.html
@@ -144,7 +144,7 @@
 
 Args:
   parent: string, Required. The container resource on which to execute the request. Acceptable formats: 1. `projects/[PROJECT_NUMBER]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]` 2. `billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]` 3. `folders/[FOLDER_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]` 4. `organizations/[ORGANIZATION_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]` LOCATION here refers to GCP Locations: https://cloud.google.com/about/locations/ INSIGHT_TYPE_ID refers to supported insight types: https://cloud.google.com/recommender/docs/insights/insight-types. (required)
-  filter: string, Optional. Filter expression to restrict the insights returned. Supported filter fields: state Eg: `state:&quot;DISMISSED&quot; or state:&quot;ACTIVE&quot;
+  filter: string, Optional. Filter expression to restrict the insights returned. Supported filter fields: * `stateInfo.state` * `insightSubtype` * `severity` Examples: * `stateInfo.state = ACTIVE OR stateInfo.state = DISMISSED` * `insightSubtype = PERMISSIONS_USAGE` * `severity = CRITICAL OR severity = HIGH` * `stateInfo.state = ACTIVE AND (severity = CRITICAL OR severity = HIGH)` (These expressions are based on the filter language described at https://google.aip.dev/160)
   pageSize: integer, Optional. The maximum number of results to return from this request. Non-positive values are ignored. If not specified, the server will determine the number of results to return.
   pageToken: string, Optional. If present, retrieves the next batch of results from the preceding call to this method. `page_token` must be the value of `next_page_token` from the previous response. The values of other method parameters must be identical to those in the previous call.
   x__xgafv: string, V1 error format.
diff --git a/docs/dyn/recommender_v1beta1.organizations.locations.recommenders.recommendations.html b/docs/dyn/recommender_v1beta1.organizations.locations.recommenders.recommendations.html
index 8cb1f9d..caa1c6c 100644
--- a/docs/dyn/recommender_v1beta1.organizations.locations.recommenders.recommendations.html
+++ b/docs/dyn/recommender_v1beta1.organizations.locations.recommenders.recommendations.html
@@ -127,6 +127,11 @@
         },
         &quot;duration&quot;: &quot;A String&quot;, # Duration for which this cost applies.
       },
+      &quot;securityProjection&quot;: { # Contains various ways of describing the impact on Security. # Use with CategoryType.SECURITY
+        &quot;details&quot;: { # This field can be used by the recommender to define details specific to security impact.
+          &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
+        },
+      },
     },
   ],
   &quot;associatedInsights&quot;: [ # Insights that led to this recommendation.
@@ -176,6 +181,11 @@
       },
       &quot;duration&quot;: &quot;A String&quot;, # Duration for which this cost applies.
     },
+    &quot;securityProjection&quot;: { # Contains various ways of describing the impact on Security. # Use with CategoryType.SECURITY
+      &quot;details&quot;: { # This field can be used by the recommender to define details specific to security impact.
+        &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
+      },
+    },
   },
   &quot;priority&quot;: &quot;A String&quot;, # Recommendation&#x27;s priority.
   &quot;recommenderSubtype&quot;: &quot;A String&quot;, # Contains an identifier for a subtype of recommendations produced for the same recommender. Subtype is a function of content and impact, meaning a new subtype might be added when significant changes to `content` or `primary_impact.category` are introduced. See the Recommenders section to see a list of subtypes for a given Recommender. Examples: For recommender = &quot;google.iam.policy.Recommender&quot;, recommender_subtype can be one of &quot;REMOVE_ROLE&quot;/&quot;REPLACE_ROLE&quot;
@@ -194,7 +204,7 @@
 
 Args:
   parent: string, Required. The container resource on which to execute the request. Acceptable formats: 1. `projects/[PROJECT_NUMBER]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]` 2. `billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]` 3. `folders/[FOLDER_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]` 4. `organizations/[ORGANIZATION_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]` LOCATION here refers to GCP Locations: https://cloud.google.com/about/locations/ RECOMMENDER_ID refers to supported recommenders: https://cloud.google.com/recommender/docs/recommenders. (required)
-  filter: string, Filter expression to restrict the recommendations returned. Supported filter fields: state_info.state Eg: `state_info.state:&quot;DISMISSED&quot; or state_info.state:&quot;FAILED&quot;
+  filter: string, Filter expression to restrict the recommendations returned. Supported filter fields: * `state_info.state` * `recommenderSubtype` * `priority` Examples: * `stateInfo.state = ACTIVE OR stateInfo.state = DISMISSED` * `recommenderSubtype = REMOVE_ROLE OR recommenderSubtype = REPLACE_ROLE` * `priority = P1 OR priority = P2` * `stateInfo.state = ACTIVE AND (priority = P1 OR priority = P2)` (These expressions are based on the filter language described at https://google.aip.dev/160)
   pageSize: integer, Optional. The maximum number of results to return from this request. Non-positive values are ignored. If not specified, the server will determine the number of results to return.
   pageToken: string, Optional. If present, retrieves the next batch of results from the preceding call to this method. `page_token` must be the value of `next_page_token` from the previous response. The values of other method parameters must be identical to those in the previous call.
   x__xgafv: string, V1 error format.
@@ -220,6 +230,11 @@
             },
             &quot;duration&quot;: &quot;A String&quot;, # Duration for which this cost applies.
           },
+          &quot;securityProjection&quot;: { # Contains various ways of describing the impact on Security. # Use with CategoryType.SECURITY
+            &quot;details&quot;: { # This field can be used by the recommender to define details specific to security impact.
+              &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
+            },
+          },
         },
       ],
       &quot;associatedInsights&quot;: [ # Insights that led to this recommendation.
@@ -269,6 +284,11 @@
           },
           &quot;duration&quot;: &quot;A String&quot;, # Duration for which this cost applies.
         },
+        &quot;securityProjection&quot;: { # Contains various ways of describing the impact on Security. # Use with CategoryType.SECURITY
+          &quot;details&quot;: { # This field can be used by the recommender to define details specific to security impact.
+            &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
+          },
+        },
       },
       &quot;priority&quot;: &quot;A String&quot;, # Recommendation&#x27;s priority.
       &quot;recommenderSubtype&quot;: &quot;A String&quot;, # Contains an identifier for a subtype of recommendations produced for the same recommender. Subtype is a function of content and impact, meaning a new subtype might be added when significant changes to `content` or `primary_impact.category` are introduced. See the Recommenders section to see a list of subtypes for a given Recommender. Examples: For recommender = &quot;google.iam.policy.Recommender&quot;, recommender_subtype can be one of &quot;REMOVE_ROLE&quot;/&quot;REPLACE_ROLE&quot;
@@ -333,6 +353,11 @@
         },
         &quot;duration&quot;: &quot;A String&quot;, # Duration for which this cost applies.
       },
+      &quot;securityProjection&quot;: { # Contains various ways of describing the impact on Security. # Use with CategoryType.SECURITY
+        &quot;details&quot;: { # This field can be used by the recommender to define details specific to security impact.
+          &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
+        },
+      },
     },
   ],
   &quot;associatedInsights&quot;: [ # Insights that led to this recommendation.
@@ -382,6 +407,11 @@
       },
       &quot;duration&quot;: &quot;A String&quot;, # Duration for which this cost applies.
     },
+    &quot;securityProjection&quot;: { # Contains various ways of describing the impact on Security. # Use with CategoryType.SECURITY
+      &quot;details&quot;: { # This field can be used by the recommender to define details specific to security impact.
+        &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
+      },
+    },
   },
   &quot;priority&quot;: &quot;A String&quot;, # Recommendation&#x27;s priority.
   &quot;recommenderSubtype&quot;: &quot;A String&quot;, # Contains an identifier for a subtype of recommendations produced for the same recommender. Subtype is a function of content and impact, meaning a new subtype might be added when significant changes to `content` or `primary_impact.category` are introduced. See the Recommenders section to see a list of subtypes for a given Recommender. Examples: For recommender = &quot;google.iam.policy.Recommender&quot;, recommender_subtype can be one of &quot;REMOVE_ROLE&quot;/&quot;REPLACE_ROLE&quot;
@@ -430,6 +460,11 @@
         },
         &quot;duration&quot;: &quot;A String&quot;, # Duration for which this cost applies.
       },
+      &quot;securityProjection&quot;: { # Contains various ways of describing the impact on Security. # Use with CategoryType.SECURITY
+        &quot;details&quot;: { # This field can be used by the recommender to define details specific to security impact.
+          &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
+        },
+      },
     },
   ],
   &quot;associatedInsights&quot;: [ # Insights that led to this recommendation.
@@ -479,6 +514,11 @@
       },
       &quot;duration&quot;: &quot;A String&quot;, # Duration for which this cost applies.
     },
+    &quot;securityProjection&quot;: { # Contains various ways of describing the impact on Security. # Use with CategoryType.SECURITY
+      &quot;details&quot;: { # This field can be used by the recommender to define details specific to security impact.
+        &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
+      },
+    },
   },
   &quot;priority&quot;: &quot;A String&quot;, # Recommendation&#x27;s priority.
   &quot;recommenderSubtype&quot;: &quot;A String&quot;, # Contains an identifier for a subtype of recommendations produced for the same recommender. Subtype is a function of content and impact, meaning a new subtype might be added when significant changes to `content` or `primary_impact.category` are introduced. See the Recommenders section to see a list of subtypes for a given Recommender. Examples: For recommender = &quot;google.iam.policy.Recommender&quot;, recommender_subtype can be one of &quot;REMOVE_ROLE&quot;/&quot;REPLACE_ROLE&quot;
@@ -527,6 +567,11 @@
         },
         &quot;duration&quot;: &quot;A String&quot;, # Duration for which this cost applies.
       },
+      &quot;securityProjection&quot;: { # Contains various ways of describing the impact on Security. # Use with CategoryType.SECURITY
+        &quot;details&quot;: { # This field can be used by the recommender to define details specific to security impact.
+          &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
+        },
+      },
     },
   ],
   &quot;associatedInsights&quot;: [ # Insights that led to this recommendation.
@@ -576,6 +621,11 @@
       },
       &quot;duration&quot;: &quot;A String&quot;, # Duration for which this cost applies.
     },
+    &quot;securityProjection&quot;: { # Contains various ways of describing the impact on Security. # Use with CategoryType.SECURITY
+      &quot;details&quot;: { # This field can be used by the recommender to define details specific to security impact.
+        &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
+      },
+    },
   },
   &quot;priority&quot;: &quot;A String&quot;, # Recommendation&#x27;s priority.
   &quot;recommenderSubtype&quot;: &quot;A String&quot;, # Contains an identifier for a subtype of recommendations produced for the same recommender. Subtype is a function of content and impact, meaning a new subtype might be added when significant changes to `content` or `primary_impact.category` are introduced. See the Recommenders section to see a list of subtypes for a given Recommender. Examples: For recommender = &quot;google.iam.policy.Recommender&quot;, recommender_subtype can be one of &quot;REMOVE_ROLE&quot;/&quot;REPLACE_ROLE&quot;
diff --git a/docs/dyn/recommender_v1beta1.projects.locations.insightTypes.insights.html b/docs/dyn/recommender_v1beta1.projects.locations.insightTypes.insights.html
index 04435be..fc53224 100644
--- a/docs/dyn/recommender_v1beta1.projects.locations.insightTypes.insights.html
+++ b/docs/dyn/recommender_v1beta1.projects.locations.insightTypes.insights.html
@@ -144,7 +144,7 @@
 
 Args:
   parent: string, Required. The container resource on which to execute the request. Acceptable formats: 1. `projects/[PROJECT_NUMBER]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]` 2. `billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]` 3. `folders/[FOLDER_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]` 4. `organizations/[ORGANIZATION_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]` LOCATION here refers to GCP Locations: https://cloud.google.com/about/locations/ INSIGHT_TYPE_ID refers to supported insight types: https://cloud.google.com/recommender/docs/insights/insight-types. (required)
-  filter: string, Optional. Filter expression to restrict the insights returned. Supported filter fields: state Eg: `state:&quot;DISMISSED&quot; or state:&quot;ACTIVE&quot;
+  filter: string, Optional. Filter expression to restrict the insights returned. Supported filter fields: * `stateInfo.state` * `insightSubtype` * `severity` Examples: * `stateInfo.state = ACTIVE OR stateInfo.state = DISMISSED` * `insightSubtype = PERMISSIONS_USAGE` * `severity = CRITICAL OR severity = HIGH` * `stateInfo.state = ACTIVE AND (severity = CRITICAL OR severity = HIGH)` (These expressions are based on the filter language described at https://google.aip.dev/160)
   pageSize: integer, Optional. The maximum number of results to return from this request. Non-positive values are ignored. If not specified, the server will determine the number of results to return.
   pageToken: string, Optional. If present, retrieves the next batch of results from the preceding call to this method. `page_token` must be the value of `next_page_token` from the previous response. The values of other method parameters must be identical to those in the previous call.
   x__xgafv: string, V1 error format.
diff --git a/docs/dyn/recommender_v1beta1.projects.locations.recommenders.recommendations.html b/docs/dyn/recommender_v1beta1.projects.locations.recommenders.recommendations.html
index 0e8e21a..f5db786 100644
--- a/docs/dyn/recommender_v1beta1.projects.locations.recommenders.recommendations.html
+++ b/docs/dyn/recommender_v1beta1.projects.locations.recommenders.recommendations.html
@@ -127,6 +127,11 @@
         },
         &quot;duration&quot;: &quot;A String&quot;, # Duration for which this cost applies.
       },
+      &quot;securityProjection&quot;: { # Contains various ways of describing the impact on Security. # Use with CategoryType.SECURITY
+        &quot;details&quot;: { # This field can be used by the recommender to define details specific to security impact.
+          &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
+        },
+      },
     },
   ],
   &quot;associatedInsights&quot;: [ # Insights that led to this recommendation.
@@ -176,6 +181,11 @@
       },
       &quot;duration&quot;: &quot;A String&quot;, # Duration for which this cost applies.
     },
+    &quot;securityProjection&quot;: { # Contains various ways of describing the impact on Security. # Use with CategoryType.SECURITY
+      &quot;details&quot;: { # This field can be used by the recommender to define details specific to security impact.
+        &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
+      },
+    },
   },
   &quot;priority&quot;: &quot;A String&quot;, # Recommendation&#x27;s priority.
   &quot;recommenderSubtype&quot;: &quot;A String&quot;, # Contains an identifier for a subtype of recommendations produced for the same recommender. Subtype is a function of content and impact, meaning a new subtype might be added when significant changes to `content` or `primary_impact.category` are introduced. See the Recommenders section to see a list of subtypes for a given Recommender. Examples: For recommender = &quot;google.iam.policy.Recommender&quot;, recommender_subtype can be one of &quot;REMOVE_ROLE&quot;/&quot;REPLACE_ROLE&quot;
@@ -194,7 +204,7 @@
 
 Args:
   parent: string, Required. The container resource on which to execute the request. Acceptable formats: 1. `projects/[PROJECT_NUMBER]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]` 2. `billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]` 3. `folders/[FOLDER_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]` 4. `organizations/[ORGANIZATION_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]` LOCATION here refers to GCP Locations: https://cloud.google.com/about/locations/ RECOMMENDER_ID refers to supported recommenders: https://cloud.google.com/recommender/docs/recommenders. (required)
-  filter: string, Filter expression to restrict the recommendations returned. Supported filter fields: state_info.state Eg: `state_info.state:&quot;DISMISSED&quot; or state_info.state:&quot;FAILED&quot;
+  filter: string, Filter expression to restrict the recommendations returned. Supported filter fields: * `state_info.state` * `recommenderSubtype` * `priority` Examples: * `stateInfo.state = ACTIVE OR stateInfo.state = DISMISSED` * `recommenderSubtype = REMOVE_ROLE OR recommenderSubtype = REPLACE_ROLE` * `priority = P1 OR priority = P2` * `stateInfo.state = ACTIVE AND (priority = P1 OR priority = P2)` (These expressions are based on the filter language described at https://google.aip.dev/160)
   pageSize: integer, Optional. The maximum number of results to return from this request. Non-positive values are ignored. If not specified, the server will determine the number of results to return.
   pageToken: string, Optional. If present, retrieves the next batch of results from the preceding call to this method. `page_token` must be the value of `next_page_token` from the previous response. The values of other method parameters must be identical to those in the previous call.
   x__xgafv: string, V1 error format.
@@ -220,6 +230,11 @@
             },
             &quot;duration&quot;: &quot;A String&quot;, # Duration for which this cost applies.
           },
+          &quot;securityProjection&quot;: { # Contains various ways of describing the impact on Security. # Use with CategoryType.SECURITY
+            &quot;details&quot;: { # This field can be used by the recommender to define details specific to security impact.
+              &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
+            },
+          },
         },
       ],
       &quot;associatedInsights&quot;: [ # Insights that led to this recommendation.
@@ -269,6 +284,11 @@
           },
           &quot;duration&quot;: &quot;A String&quot;, # Duration for which this cost applies.
         },
+        &quot;securityProjection&quot;: { # Contains various ways of describing the impact on Security. # Use with CategoryType.SECURITY
+          &quot;details&quot;: { # This field can be used by the recommender to define details specific to security impact.
+            &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
+          },
+        },
       },
       &quot;priority&quot;: &quot;A String&quot;, # Recommendation&#x27;s priority.
       &quot;recommenderSubtype&quot;: &quot;A String&quot;, # Contains an identifier for a subtype of recommendations produced for the same recommender. Subtype is a function of content and impact, meaning a new subtype might be added when significant changes to `content` or `primary_impact.category` are introduced. See the Recommenders section to see a list of subtypes for a given Recommender. Examples: For recommender = &quot;google.iam.policy.Recommender&quot;, recommender_subtype can be one of &quot;REMOVE_ROLE&quot;/&quot;REPLACE_ROLE&quot;
@@ -333,6 +353,11 @@
         },
         &quot;duration&quot;: &quot;A String&quot;, # Duration for which this cost applies.
       },
+      &quot;securityProjection&quot;: { # Contains various ways of describing the impact on Security. # Use with CategoryType.SECURITY
+        &quot;details&quot;: { # This field can be used by the recommender to define details specific to security impact.
+          &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
+        },
+      },
     },
   ],
   &quot;associatedInsights&quot;: [ # Insights that led to this recommendation.
@@ -382,6 +407,11 @@
       },
       &quot;duration&quot;: &quot;A String&quot;, # Duration for which this cost applies.
     },
+    &quot;securityProjection&quot;: { # Contains various ways of describing the impact on Security. # Use with CategoryType.SECURITY
+      &quot;details&quot;: { # This field can be used by the recommender to define details specific to security impact.
+        &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
+      },
+    },
   },
   &quot;priority&quot;: &quot;A String&quot;, # Recommendation&#x27;s priority.
   &quot;recommenderSubtype&quot;: &quot;A String&quot;, # Contains an identifier for a subtype of recommendations produced for the same recommender. Subtype is a function of content and impact, meaning a new subtype might be added when significant changes to `content` or `primary_impact.category` are introduced. See the Recommenders section to see a list of subtypes for a given Recommender. Examples: For recommender = &quot;google.iam.policy.Recommender&quot;, recommender_subtype can be one of &quot;REMOVE_ROLE&quot;/&quot;REPLACE_ROLE&quot;
@@ -430,6 +460,11 @@
         },
         &quot;duration&quot;: &quot;A String&quot;, # Duration for which this cost applies.
       },
+      &quot;securityProjection&quot;: { # Contains various ways of describing the impact on Security. # Use with CategoryType.SECURITY
+        &quot;details&quot;: { # This field can be used by the recommender to define details specific to security impact.
+          &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
+        },
+      },
     },
   ],
   &quot;associatedInsights&quot;: [ # Insights that led to this recommendation.
@@ -479,6 +514,11 @@
       },
       &quot;duration&quot;: &quot;A String&quot;, # Duration for which this cost applies.
     },
+    &quot;securityProjection&quot;: { # Contains various ways of describing the impact on Security. # Use with CategoryType.SECURITY
+      &quot;details&quot;: { # This field can be used by the recommender to define details specific to security impact.
+        &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
+      },
+    },
   },
   &quot;priority&quot;: &quot;A String&quot;, # Recommendation&#x27;s priority.
   &quot;recommenderSubtype&quot;: &quot;A String&quot;, # Contains an identifier for a subtype of recommendations produced for the same recommender. Subtype is a function of content and impact, meaning a new subtype might be added when significant changes to `content` or `primary_impact.category` are introduced. See the Recommenders section to see a list of subtypes for a given Recommender. Examples: For recommender = &quot;google.iam.policy.Recommender&quot;, recommender_subtype can be one of &quot;REMOVE_ROLE&quot;/&quot;REPLACE_ROLE&quot;
@@ -527,6 +567,11 @@
         },
         &quot;duration&quot;: &quot;A String&quot;, # Duration for which this cost applies.
       },
+      &quot;securityProjection&quot;: { # Contains various ways of describing the impact on Security. # Use with CategoryType.SECURITY
+        &quot;details&quot;: { # This field can be used by the recommender to define details specific to security impact.
+          &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
+        },
+      },
     },
   ],
   &quot;associatedInsights&quot;: [ # Insights that led to this recommendation.
@@ -576,6 +621,11 @@
       },
       &quot;duration&quot;: &quot;A String&quot;, # Duration for which this cost applies.
     },
+    &quot;securityProjection&quot;: { # Contains various ways of describing the impact on Security. # Use with CategoryType.SECURITY
+      &quot;details&quot;: { # This field can be used by the recommender to define details specific to security impact.
+        &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
+      },
+    },
   },
   &quot;priority&quot;: &quot;A String&quot;, # Recommendation&#x27;s priority.
   &quot;recommenderSubtype&quot;: &quot;A String&quot;, # Contains an identifier for a subtype of recommendations produced for the same recommender. Subtype is a function of content and impact, meaning a new subtype might be added when significant changes to `content` or `primary_impact.category` are introduced. See the Recommenders section to see a list of subtypes for a given Recommender. Examples: For recommender = &quot;google.iam.policy.Recommender&quot;, recommender_subtype can be one of &quot;REMOVE_ROLE&quot;/&quot;REPLACE_ROLE&quot;
diff --git a/docs/dyn/sheets_v4.spreadsheets.html b/docs/dyn/sheets_v4.spreadsheets.html
index 072dd5f..2c3ab0e 100644
--- a/docs/dyn/sheets_v4.spreadsheets.html
+++ b/docs/dyn/sheets_v4.spreadsheets.html
@@ -309,7 +309,7 @@
             &quot;basicChart&quot;: { # The specification for a basic chart. See BasicChartType for the list of charts this supports. # A basic chart specification, can be one of many kinds of charts. See BasicChartType for the list of all charts this supports.
               &quot;axis&quot;: [ # The axis on the chart.
                 { # An axis of the chart. A chart may not have more than one axis per axis position.
-                  &quot;format&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The format of the title. Only valid if the axis is not associated with the domain.
+                  &quot;format&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The format of the title. Only valid if the axis is not associated with the domain. The link field is not supported.
                     &quot;bold&quot;: True or False, # True if the text is bold.
                     &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
                     &quot;fontSize&quot;: 42, # The size of the font.
@@ -431,7 +431,7 @@
                       },
                     },
                     &quot;placement&quot;: &quot;A String&quot;, # The placement of the data label relative to the labeled data.
-                    &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The text format used for the data label.
+                    &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The text format used for the data label. The link field is not supported.
                       &quot;bold&quot;: True or False, # True if the text is bold.
                       &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
                       &quot;fontSize&quot;: 42, # The size of the font.
@@ -553,7 +553,7 @@
                   },
                 },
                 &quot;placement&quot;: &quot;A String&quot;, # The placement of the data label relative to the labeled data.
-                &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The text format used for the data label.
+                &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The text format used for the data label. The link field is not supported.
                   &quot;bold&quot;: True or False, # True if the text is bold.
                   &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
                   &quot;fontSize&quot;: 42, # The size of the font.
@@ -655,7 +655,7 @@
                   ],
                 },
               },
-              &quot;bubbleTextStyle&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The format of the text inside the bubbles. Strikethrough and underline are not supported.
+              &quot;bubbleTextStyle&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The format of the text inside the bubbles. Strikethrough, underline, and link are not supported.
                 &quot;bold&quot;: True or False, # True if the text is bold.
                 &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
                 &quot;fontSize&quot;: 42, # The size of the font.
@@ -1270,7 +1270,7 @@
                   },
                   &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
                 },
-                &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # Text formatting options for baseline value.
+                &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # Text formatting options for baseline value. The link field is not supported.
                   &quot;bold&quot;: True or False, # True if the text is bold.
                   &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
                   &quot;fontSize&quot;: 42, # The size of the font.
@@ -1332,7 +1332,7 @@
                 &quot;position&quot;: { # Position settings for text. # Specifies the horizontal text positioning of key value. This field is optional. If not specified, default positioning is used.
                   &quot;horizontalAlignment&quot;: &quot;A String&quot;, # Horizontal alignment setting for the piece of text.
                 },
-                &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # Text formatting options for key value.
+                &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # Text formatting options for key value. The link field is not supported.
                   &quot;bold&quot;: True or False, # True if the text is bold.
                   &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
                   &quot;fontSize&quot;: 42, # The size of the font.
@@ -1402,7 +1402,7 @@
               },
             ],
             &quot;subtitle&quot;: &quot;A String&quot;, # The subtitle of the chart.
-            &quot;subtitleTextFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The subtitle text format. Strikethrough and underline are not supported.
+            &quot;subtitleTextFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The subtitle text format. Strikethrough, underline, and link are not supported.
               &quot;bold&quot;: True or False, # True if the text is bold.
               &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
               &quot;fontSize&quot;: 42, # The size of the font.
@@ -1432,7 +1432,7 @@
               &quot;horizontalAlignment&quot;: &quot;A String&quot;, # Horizontal alignment setting for the piece of text.
             },
             &quot;title&quot;: &quot;A String&quot;, # The title of the chart.
-            &quot;titleTextFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The title text format. Strikethrough and underline are not supported.
+            &quot;titleTextFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The title text format. Strikethrough, underline, and link are not supported.
               &quot;bold&quot;: True or False, # True if the text is bold.
               &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
               &quot;fontSize&quot;: 42, # The size of the font.
@@ -1652,7 +1652,7 @@
                   ],
                 },
               },
-              &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The text format for all labels on the chart.
+              &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The text format for all labels on the chart. The link field is not supported.
                 &quot;bold&quot;: True or False, # True if the text is bold.
                 &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
                 &quot;fontSize&quot;: 42, # The size of the font.
@@ -1781,7 +1781,7 @@
                       },
                     },
                     &quot;placement&quot;: &quot;A String&quot;, # The placement of the data label relative to the labeled data.
-                    &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The text format used for the data label.
+                    &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The text format used for the data label. The link field is not supported.
                       &quot;bold&quot;: True or False, # True if the text is bold.
                       &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
                       &quot;fontSize&quot;: 42, # The size of the font.
@@ -1896,7 +1896,7 @@
                   },
                 },
                 &quot;placement&quot;: &quot;A String&quot;, # The placement of the data label relative to the labeled data.
-                &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The text format used for the data label.
+                &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The text format used for the data label. The link field is not supported.
                   &quot;bold&quot;: True or False, # True if the text is bold.
                   &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
                   &quot;fontSize&quot;: 42, # The size of the font.
@@ -2048,7 +2048,7 @@
                 &quot;top&quot;: 42, # The top padding of the cell.
               },
               &quot;textDirection&quot;: &quot;A String&quot;, # The direction of the text in the cell.
-              &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The format of the text in the cell (unless overridden by a format run).
+              &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The format of the text in the cell (unless overridden by a format run). Setting a cell-level link will clear the cell&#x27;s existing links. Setting a link in a format run will clear the cell-level link.
                 &quot;bold&quot;: True or False, # True if the text is bold.
                 &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
                 &quot;fontSize&quot;: 42, # The size of the font.
@@ -2537,7 +2537,7 @@
               },
             },
             &quot;horizontalAlignment&quot;: &quot;A String&quot;, # The horizontal alignment of title in the slicer. If unspecified, defaults to `LEFT`
-            &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The text format of title in the slicer.
+            &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The text format of title in the slicer. The link field is not supported.
               &quot;bold&quot;: True or False, # True if the text is bold.
               &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
               &quot;fontSize&quot;: 42, # The size of the font.
@@ -2573,7 +2573,7 @@
           { # Data about each cell in a row.
             &quot;values&quot;: [ # The values in the row, one per column.
               { # Data about a specific cell.
-                &quot;dataSourceFormula&quot;: { # A data source formula. # Output only. Information about a data source formula on the cell. The field is set if user_entered_value is a formula referencing some DATA_SOURCE sheet, e.g `=SUM(DataSheet!Column)`.
+                &quot;dataSourceFormula&quot;: { # A data source formula. # Output only. Information about a data source formula on the cell. The field is set if user_entered_value is a formula referencing some DATA_SOURCE sheet, e.g. `=SUM(DataSheet!Column)`.
                   &quot;dataExecutionStatus&quot;: { # The data execution status. A data execution is created to sync a data source object with the latest data from a DataSource. It is usually scheduled to run at background, you can check its state to tell if an execution completes There are several scenarios where a data execution is triggered to run: * Adding a data source creates an associated data source sheet as well as a data execution to sync the data from the data source to the sheet. * Updating a data source creates a data execution to refresh the associated data source sheet similarly. * You can send refresh request to explicitly refresh one or multiple data source objects. # Output only. The data execution status.
                     &quot;errorCode&quot;: &quot;A String&quot;, # The error code.
                     &quot;errorMessage&quot;: &quot;A String&quot;, # The error message, which may be empty.
@@ -2810,7 +2810,7 @@
                     &quot;top&quot;: 42, # The top padding of the cell.
                   },
                   &quot;textDirection&quot;: &quot;A String&quot;, # The direction of the text in the cell.
-                  &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The format of the text in the cell (unless overridden by a format run).
+                  &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The format of the text in the cell (unless overridden by a format run). Setting a cell-level link will clear the cell&#x27;s existing links. Setting a link in a format run will clear the cell-level link.
                     &quot;bold&quot;: True or False, # True if the text is bold.
                     &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
                     &quot;fontSize&quot;: 42, # The size of the font.
@@ -2850,11 +2850,11 @@
                     &quot;type&quot;: &quot;A String&quot;, # The type of error.
                   },
                   &quot;formulaValue&quot;: &quot;A String&quot;, # Represents a formula.
-                  &quot;numberValue&quot;: 3.14, # Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in &quot;serial number&quot; format.
+                  &quot;numberValue&quot;: 3.14, # Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in SERIAL_NUMBER format.
                   &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value. Leading single quotes are not included. For example, if the user typed `&#x27;123` into the UI, this would be represented as a `stringValue` of `&quot;123&quot;`.
                 },
                 &quot;formattedValue&quot;: &quot;A String&quot;, # The formatted value of the cell. This is the value as it&#x27;s shown to the user. This field is read-only.
-                &quot;hyperlink&quot;: &quot;A String&quot;, # A hyperlink this cell points to, if any. If the cell contains multiple hyperlinks, this field will be empty. This field is read-only. To set it, use a `=HYPERLINK` formula in the userEnteredValue.formulaValue field.
+                &quot;hyperlink&quot;: &quot;A String&quot;, # A hyperlink this cell points to, if any. If the cell contains multiple hyperlinks, this field will be empty. This field is read-only. To set it, use a `=HYPERLINK` formula in the userEnteredValue.formulaValue field. A cell-level link can also be set from the userEnteredFormat.textFormat field. Alternatively, set a hyperlink in the textFormatRun.format.link field that spans the entire cell.
                 &quot;note&quot;: &quot;A String&quot;, # Any note on the cell.
                 &quot;pivotTable&quot;: { # A pivot table. # A pivot table anchored at this cell. The size of pivot table itself is computed dynamically based on its data, grouping, filters, values, etc. Only the top-left cell of the pivot table contains the pivot table definition. The other cells will contain the calculated values of the results of the pivot in their effective_value fields.
                   &quot;columns&quot;: [ # Each column grouping in the pivot table.
@@ -2885,7 +2885,7 @@
                                   &quot;type&quot;: &quot;A String&quot;, # The type of error.
                                 },
                                 &quot;formulaValue&quot;: &quot;A String&quot;, # Represents a formula.
-                                &quot;numberValue&quot;: 3.14, # Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in &quot;serial number&quot; format.
+                                &quot;numberValue&quot;: 3.14, # Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in SERIAL_NUMBER format.
                                 &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value. Leading single quotes are not included. For example, if the user typed `&#x27;123` into the UI, this would be represented as a `stringValue` of `&quot;123&quot;`.
                               },
                               &quot;items&quot;: [ # The items in the source data that should be placed into this group. Each item may be a string, number, or boolean. Items may appear in at most one group within a given ManualRule. Items that do not appear in any group will appear on their own.
@@ -2896,7 +2896,7 @@
                                     &quot;type&quot;: &quot;A String&quot;, # The type of error.
                                   },
                                   &quot;formulaValue&quot;: &quot;A String&quot;, # Represents a formula.
-                                  &quot;numberValue&quot;: 3.14, # Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in &quot;serial number&quot; format.
+                                  &quot;numberValue&quot;: 3.14, # Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in SERIAL_NUMBER format.
                                   &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value. Leading single quotes are not included. For example, if the user typed `&#x27;123` into the UI, this would be represented as a `stringValue` of `&quot;123&quot;`.
                                 },
                               ],
@@ -2918,7 +2918,7 @@
                               &quot;type&quot;: &quot;A String&quot;, # The type of error.
                             },
                             &quot;formulaValue&quot;: &quot;A String&quot;, # Represents a formula.
-                            &quot;numberValue&quot;: 3.14, # Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in &quot;serial number&quot; format.
+                            &quot;numberValue&quot;: 3.14, # Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in SERIAL_NUMBER format.
                             &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value. Leading single quotes are not included. For example, if the user typed `&#x27;123` into the UI, this would be represented as a `stringValue` of `&quot;123&quot;`.
                           },
                         ],
@@ -2934,7 +2934,7 @@
                               &quot;type&quot;: &quot;A String&quot;, # The type of error.
                             },
                             &quot;formulaValue&quot;: &quot;A String&quot;, # Represents a formula.
-                            &quot;numberValue&quot;: 3.14, # Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in &quot;serial number&quot; format.
+                            &quot;numberValue&quot;: 3.14, # Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in SERIAL_NUMBER format.
                             &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value. Leading single quotes are not included. For example, if the user typed `&#x27;123` into the UI, this would be represented as a `stringValue` of `&quot;123&quot;`.
                           },
                         },
@@ -3016,7 +3016,7 @@
                                   &quot;type&quot;: &quot;A String&quot;, # The type of error.
                                 },
                                 &quot;formulaValue&quot;: &quot;A String&quot;, # Represents a formula.
-                                &quot;numberValue&quot;: 3.14, # Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in &quot;serial number&quot; format.
+                                &quot;numberValue&quot;: 3.14, # Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in SERIAL_NUMBER format.
                                 &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value. Leading single quotes are not included. For example, if the user typed `&#x27;123` into the UI, this would be represented as a `stringValue` of `&quot;123&quot;`.
                               },
                               &quot;items&quot;: [ # The items in the source data that should be placed into this group. Each item may be a string, number, or boolean. Items may appear in at most one group within a given ManualRule. Items that do not appear in any group will appear on their own.
@@ -3027,7 +3027,7 @@
                                     &quot;type&quot;: &quot;A String&quot;, # The type of error.
                                   },
                                   &quot;formulaValue&quot;: &quot;A String&quot;, # Represents a formula.
-                                  &quot;numberValue&quot;: 3.14, # Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in &quot;serial number&quot; format.
+                                  &quot;numberValue&quot;: 3.14, # Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in SERIAL_NUMBER format.
                                   &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value. Leading single quotes are not included. For example, if the user typed `&#x27;123` into the UI, this would be represented as a `stringValue` of `&quot;123&quot;`.
                                 },
                               ],
@@ -3049,7 +3049,7 @@
                               &quot;type&quot;: &quot;A String&quot;, # The type of error.
                             },
                             &quot;formulaValue&quot;: &quot;A String&quot;, # Represents a formula.
-                            &quot;numberValue&quot;: 3.14, # Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in &quot;serial number&quot; format.
+                            &quot;numberValue&quot;: 3.14, # Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in SERIAL_NUMBER format.
                             &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value. Leading single quotes are not included. For example, if the user typed `&#x27;123` into the UI, this would be represented as a `stringValue` of `&quot;123&quot;`.
                           },
                         ],
@@ -3065,7 +3065,7 @@
                               &quot;type&quot;: &quot;A String&quot;, # The type of error.
                             },
                             &quot;formulaValue&quot;: &quot;A String&quot;, # Represents a formula.
-                            &quot;numberValue&quot;: 3.14, # Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in &quot;serial number&quot; format.
+                            &quot;numberValue&quot;: 3.14, # Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in SERIAL_NUMBER format.
                             &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value. Leading single quotes are not included. For example, if the user typed `&#x27;123` into the UI, this would be represented as a `stringValue` of `&quot;123&quot;`.
                           },
                         },
@@ -3231,7 +3231,7 @@
                     &quot;top&quot;: 42, # The top padding of the cell.
                   },
                   &quot;textDirection&quot;: &quot;A String&quot;, # The direction of the text in the cell.
-                  &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The format of the text in the cell (unless overridden by a format run).
+                  &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The format of the text in the cell (unless overridden by a format run). Setting a cell-level link will clear the cell&#x27;s existing links. Setting a link in a format run will clear the cell-level link.
                     &quot;bold&quot;: True or False, # True if the text is bold.
                     &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
                     &quot;fontSize&quot;: 42, # The size of the font.
@@ -3271,7 +3271,7 @@
                     &quot;type&quot;: &quot;A String&quot;, # The type of error.
                   },
                   &quot;formulaValue&quot;: &quot;A String&quot;, # Represents a formula.
-                  &quot;numberValue&quot;: 3.14, # Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in &quot;serial number&quot; format.
+                  &quot;numberValue&quot;: 3.14, # Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in SERIAL_NUMBER format.
                   &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value. Leading single quotes are not included. For example, if the user typed `&#x27;123` into the UI, this would be represented as a `stringValue` of `&quot;123&quot;`.
                 },
               },
@@ -3474,7 +3474,7 @@
         &quot;shiftDimension&quot;: &quot;A String&quot;, # The dimension from which deleted cells will be replaced with. If ROWS, existing cells will be shifted upward to replace the deleted cells. If COLUMNS, existing cells will be shifted left to replace the deleted cells.
       },
       &quot;deleteSheet&quot;: { # Deletes the requested sheet. # Deletes a sheet.
-        &quot;sheetId&quot;: 42, # The ID of the sheet to delete. If the sheet is of SheetType.DATA_SOURCE type, the associated DataSource is also deleted.
+        &quot;sheetId&quot;: 42, # The ID of the sheet to delete. If the sheet is of DATA_SOURCE type, the associated DataSource is also deleted.
       },
       &quot;duplicateFilterView&quot;: { # Duplicates a particular filter view. # Duplicates a filter view.
         &quot;filterId&quot;: 42, # The ID of the filter being duplicated.
@@ -3590,7 +3590,7 @@
       },
       &quot;repeatCell&quot;: { # Updates all cells in the range to the values in the given Cell object. Only the fields listed in the fields field are updated; others are unchanged. If writing a cell with a formula, the formula&#x27;s ranges will automatically increment for each field in the range. For example, if writing a cell with formula `=A1` into range B2:C4, B2 would be `=A1`, B3 would be `=A2`, B4 would be `=A3`, C2 would be `=B1`, C3 would be `=B2`, C4 would be `=B3`. To keep the formula&#x27;s ranges static, use the `$` indicator. For example, use the formula `=$A$1` to prevent both the row and the column from incrementing. # Repeats a single cell across a range.
         &quot;cell&quot;: { # Data about a specific cell. # The data to write.
-          &quot;dataSourceFormula&quot;: { # A data source formula. # Output only. Information about a data source formula on the cell. The field is set if user_entered_value is a formula referencing some DATA_SOURCE sheet, e.g `=SUM(DataSheet!Column)`.
+          &quot;dataSourceFormula&quot;: { # A data source formula. # Output only. Information about a data source formula on the cell. The field is set if user_entered_value is a formula referencing some DATA_SOURCE sheet, e.g. `=SUM(DataSheet!Column)`.
             &quot;dataExecutionStatus&quot;: { # The data execution status. A data execution is created to sync a data source object with the latest data from a DataSource. It is usually scheduled to run at background, you can check its state to tell if an execution completes There are several scenarios where a data execution is triggered to run: * Adding a data source creates an associated data source sheet as well as a data execution to sync the data from the data source to the sheet. * Updating a data source creates a data execution to refresh the associated data source sheet similarly. * You can send refresh request to explicitly refresh one or multiple data source objects. # Output only. The data execution status.
               &quot;errorCode&quot;: &quot;A String&quot;, # The error code.
               &quot;errorMessage&quot;: &quot;A String&quot;, # The error message, which may be empty.
@@ -3827,7 +3827,7 @@
               &quot;top&quot;: 42, # The top padding of the cell.
             },
             &quot;textDirection&quot;: &quot;A String&quot;, # The direction of the text in the cell.
-            &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The format of the text in the cell (unless overridden by a format run).
+            &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The format of the text in the cell (unless overridden by a format run). Setting a cell-level link will clear the cell&#x27;s existing links. Setting a link in a format run will clear the cell-level link.
               &quot;bold&quot;: True or False, # True if the text is bold.
               &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
               &quot;fontSize&quot;: 42, # The size of the font.
@@ -3867,11 +3867,11 @@
               &quot;type&quot;: &quot;A String&quot;, # The type of error.
             },
             &quot;formulaValue&quot;: &quot;A String&quot;, # Represents a formula.
-            &quot;numberValue&quot;: 3.14, # Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in &quot;serial number&quot; format.
+            &quot;numberValue&quot;: 3.14, # Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in SERIAL_NUMBER format.
             &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value. Leading single quotes are not included. For example, if the user typed `&#x27;123` into the UI, this would be represented as a `stringValue` of `&quot;123&quot;`.
           },
           &quot;formattedValue&quot;: &quot;A String&quot;, # The formatted value of the cell. This is the value as it&#x27;s shown to the user. This field is read-only.
-          &quot;hyperlink&quot;: &quot;A String&quot;, # A hyperlink this cell points to, if any. If the cell contains multiple hyperlinks, this field will be empty. This field is read-only. To set it, use a `=HYPERLINK` formula in the userEnteredValue.formulaValue field.
+          &quot;hyperlink&quot;: &quot;A String&quot;, # A hyperlink this cell points to, if any. If the cell contains multiple hyperlinks, this field will be empty. This field is read-only. To set it, use a `=HYPERLINK` formula in the userEnteredValue.formulaValue field. A cell-level link can also be set from the userEnteredFormat.textFormat field. Alternatively, set a hyperlink in the textFormatRun.format.link field that spans the entire cell.
           &quot;note&quot;: &quot;A String&quot;, # Any note on the cell.
           &quot;pivotTable&quot;: { # A pivot table. # A pivot table anchored at this cell. The size of pivot table itself is computed dynamically based on its data, grouping, filters, values, etc. Only the top-left cell of the pivot table contains the pivot table definition. The other cells will contain the calculated values of the results of the pivot in their effective_value fields.
             &quot;columns&quot;: [ # Each column grouping in the pivot table.
@@ -3902,7 +3902,7 @@
                             &quot;type&quot;: &quot;A String&quot;, # The type of error.
                           },
                           &quot;formulaValue&quot;: &quot;A String&quot;, # Represents a formula.
-                          &quot;numberValue&quot;: 3.14, # Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in &quot;serial number&quot; format.
+                          &quot;numberValue&quot;: 3.14, # Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in SERIAL_NUMBER format.
                           &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value. Leading single quotes are not included. For example, if the user typed `&#x27;123` into the UI, this would be represented as a `stringValue` of `&quot;123&quot;`.
                         },
                         &quot;items&quot;: [ # The items in the source data that should be placed into this group. Each item may be a string, number, or boolean. Items may appear in at most one group within a given ManualRule. Items that do not appear in any group will appear on their own.
@@ -3913,7 +3913,7 @@
                               &quot;type&quot;: &quot;A String&quot;, # The type of error.
                             },
                             &quot;formulaValue&quot;: &quot;A String&quot;, # Represents a formula.
-                            &quot;numberValue&quot;: 3.14, # Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in &quot;serial number&quot; format.
+                            &quot;numberValue&quot;: 3.14, # Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in SERIAL_NUMBER format.
                             &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value. Leading single quotes are not included. For example, if the user typed `&#x27;123` into the UI, this would be represented as a `stringValue` of `&quot;123&quot;`.
                           },
                         ],
@@ -3935,7 +3935,7 @@
                         &quot;type&quot;: &quot;A String&quot;, # The type of error.
                       },
                       &quot;formulaValue&quot;: &quot;A String&quot;, # Represents a formula.
-                      &quot;numberValue&quot;: 3.14, # Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in &quot;serial number&quot; format.
+                      &quot;numberValue&quot;: 3.14, # Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in SERIAL_NUMBER format.
                       &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value. Leading single quotes are not included. For example, if the user typed `&#x27;123` into the UI, this would be represented as a `stringValue` of `&quot;123&quot;`.
                     },
                   ],
@@ -3951,7 +3951,7 @@
                         &quot;type&quot;: &quot;A String&quot;, # The type of error.
                       },
                       &quot;formulaValue&quot;: &quot;A String&quot;, # Represents a formula.
-                      &quot;numberValue&quot;: 3.14, # Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in &quot;serial number&quot; format.
+                      &quot;numberValue&quot;: 3.14, # Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in SERIAL_NUMBER format.
                       &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value. Leading single quotes are not included. For example, if the user typed `&#x27;123` into the UI, this would be represented as a `stringValue` of `&quot;123&quot;`.
                     },
                   },
@@ -4033,7 +4033,7 @@
                             &quot;type&quot;: &quot;A String&quot;, # The type of error.
                           },
                           &quot;formulaValue&quot;: &quot;A String&quot;, # Represents a formula.
-                          &quot;numberValue&quot;: 3.14, # Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in &quot;serial number&quot; format.
+                          &quot;numberValue&quot;: 3.14, # Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in SERIAL_NUMBER format.
                           &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value. Leading single quotes are not included. For example, if the user typed `&#x27;123` into the UI, this would be represented as a `stringValue` of `&quot;123&quot;`.
                         },
                         &quot;items&quot;: [ # The items in the source data that should be placed into this group. Each item may be a string, number, or boolean. Items may appear in at most one group within a given ManualRule. Items that do not appear in any group will appear on their own.
@@ -4044,7 +4044,7 @@
                               &quot;type&quot;: &quot;A String&quot;, # The type of error.
                             },
                             &quot;formulaValue&quot;: &quot;A String&quot;, # Represents a formula.
-                            &quot;numberValue&quot;: 3.14, # Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in &quot;serial number&quot; format.
+                            &quot;numberValue&quot;: 3.14, # Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in SERIAL_NUMBER format.
                             &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value. Leading single quotes are not included. For example, if the user typed `&#x27;123` into the UI, this would be represented as a `stringValue` of `&quot;123&quot;`.
                           },
                         ],
@@ -4066,7 +4066,7 @@
                         &quot;type&quot;: &quot;A String&quot;, # The type of error.
                       },
                       &quot;formulaValue&quot;: &quot;A String&quot;, # Represents a formula.
-                      &quot;numberValue&quot;: 3.14, # Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in &quot;serial number&quot; format.
+                      &quot;numberValue&quot;: 3.14, # Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in SERIAL_NUMBER format.
                       &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value. Leading single quotes are not included. For example, if the user typed `&#x27;123` into the UI, this would be represented as a `stringValue` of `&quot;123&quot;`.
                     },
                   ],
@@ -4082,7 +4082,7 @@
                         &quot;type&quot;: &quot;A String&quot;, # The type of error.
                       },
                       &quot;formulaValue&quot;: &quot;A String&quot;, # Represents a formula.
-                      &quot;numberValue&quot;: 3.14, # Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in &quot;serial number&quot; format.
+                      &quot;numberValue&quot;: 3.14, # Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in SERIAL_NUMBER format.
                       &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value. Leading single quotes are not included. For example, if the user typed `&#x27;123` into the UI, this would be represented as a `stringValue` of `&quot;123&quot;`.
                     },
                   },
@@ -4248,7 +4248,7 @@
               &quot;top&quot;: 42, # The top padding of the cell.
             },
             &quot;textDirection&quot;: &quot;A String&quot;, # The direction of the text in the cell.
-            &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The format of the text in the cell (unless overridden by a format run).
+            &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The format of the text in the cell (unless overridden by a format run). Setting a cell-level link will clear the cell&#x27;s existing links. Setting a link in a format run will clear the cell-level link.
               &quot;bold&quot;: True or False, # True if the text is bold.
               &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
               &quot;fontSize&quot;: 42, # The size of the font.
@@ -4288,7 +4288,7 @@
               &quot;type&quot;: &quot;A String&quot;, # The type of error.
             },
             &quot;formulaValue&quot;: &quot;A String&quot;, # Represents a formula.
-            &quot;numberValue&quot;: 3.14, # Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in &quot;serial number&quot; format.
+            &quot;numberValue&quot;: 3.14, # Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in SERIAL_NUMBER format.
             &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value. Leading single quotes are not included. For example, if the user typed `&#x27;123` into the UI, this would be represented as a `stringValue` of `&quot;123&quot;`.
           },
         },
@@ -4822,7 +4822,7 @@
           { # Data about each cell in a row.
             &quot;values&quot;: [ # The values in the row, one per column.
               { # Data about a specific cell.
-                &quot;dataSourceFormula&quot;: { # A data source formula. # Output only. Information about a data source formula on the cell. The field is set if user_entered_value is a formula referencing some DATA_SOURCE sheet, e.g `=SUM(DataSheet!Column)`.
+                &quot;dataSourceFormula&quot;: { # A data source formula. # Output only. Information about a data source formula on the cell. The field is set if user_entered_value is a formula referencing some DATA_SOURCE sheet, e.g. `=SUM(DataSheet!Column)`.
                   &quot;dataExecutionStatus&quot;: { # The data execution status. A data execution is created to sync a data source object with the latest data from a DataSource. It is usually scheduled to run at background, you can check its state to tell if an execution completes There are several scenarios where a data execution is triggered to run: * Adding a data source creates an associated data source sheet as well as a data execution to sync the data from the data source to the sheet. * Updating a data source creates a data execution to refresh the associated data source sheet similarly. * You can send refresh request to explicitly refresh one or multiple data source objects. # Output only. The data execution status.
                     &quot;errorCode&quot;: &quot;A String&quot;, # The error code.
                     &quot;errorMessage&quot;: &quot;A String&quot;, # The error message, which may be empty.
@@ -5059,7 +5059,7 @@
                     &quot;top&quot;: 42, # The top padding of the cell.
                   },
                   &quot;textDirection&quot;: &quot;A String&quot;, # The direction of the text in the cell.
-                  &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The format of the text in the cell (unless overridden by a format run).
+                  &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The format of the text in the cell (unless overridden by a format run). Setting a cell-level link will clear the cell&#x27;s existing links. Setting a link in a format run will clear the cell-level link.
                     &quot;bold&quot;: True or False, # True if the text is bold.
                     &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
                     &quot;fontSize&quot;: 42, # The size of the font.
@@ -5099,11 +5099,11 @@
                     &quot;type&quot;: &quot;A String&quot;, # The type of error.
                   },
                   &quot;formulaValue&quot;: &quot;A String&quot;, # Represents a formula.
-                  &quot;numberValue&quot;: 3.14, # Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in &quot;serial number&quot; format.
+                  &quot;numberValue&quot;: 3.14, # Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in SERIAL_NUMBER format.
                   &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value. Leading single quotes are not included. For example, if the user typed `&#x27;123` into the UI, this would be represented as a `stringValue` of `&quot;123&quot;`.
                 },
                 &quot;formattedValue&quot;: &quot;A String&quot;, # The formatted value of the cell. This is the value as it&#x27;s shown to the user. This field is read-only.
-                &quot;hyperlink&quot;: &quot;A String&quot;, # A hyperlink this cell points to, if any. If the cell contains multiple hyperlinks, this field will be empty. This field is read-only. To set it, use a `=HYPERLINK` formula in the userEnteredValue.formulaValue field.
+                &quot;hyperlink&quot;: &quot;A String&quot;, # A hyperlink this cell points to, if any. If the cell contains multiple hyperlinks, this field will be empty. This field is read-only. To set it, use a `=HYPERLINK` formula in the userEnteredValue.formulaValue field. A cell-level link can also be set from the userEnteredFormat.textFormat field. Alternatively, set a hyperlink in the textFormatRun.format.link field that spans the entire cell.
                 &quot;note&quot;: &quot;A String&quot;, # Any note on the cell.
                 &quot;pivotTable&quot;: { # A pivot table. # A pivot table anchored at this cell. The size of pivot table itself is computed dynamically based on its data, grouping, filters, values, etc. Only the top-left cell of the pivot table contains the pivot table definition. The other cells will contain the calculated values of the results of the pivot in their effective_value fields.
                   &quot;columns&quot;: [ # Each column grouping in the pivot table.
@@ -5134,7 +5134,7 @@
                                   &quot;type&quot;: &quot;A String&quot;, # The type of error.
                                 },
                                 &quot;formulaValue&quot;: &quot;A String&quot;, # Represents a formula.
-                                &quot;numberValue&quot;: 3.14, # Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in &quot;serial number&quot; format.
+                                &quot;numberValue&quot;: 3.14, # Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in SERIAL_NUMBER format.
                                 &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value. Leading single quotes are not included. For example, if the user typed `&#x27;123` into the UI, this would be represented as a `stringValue` of `&quot;123&quot;`.
                               },
                               &quot;items&quot;: [ # The items in the source data that should be placed into this group. Each item may be a string, number, or boolean. Items may appear in at most one group within a given ManualRule. Items that do not appear in any group will appear on their own.
@@ -5145,7 +5145,7 @@
                                     &quot;type&quot;: &quot;A String&quot;, # The type of error.
                                   },
                                   &quot;formulaValue&quot;: &quot;A String&quot;, # Represents a formula.
-                                  &quot;numberValue&quot;: 3.14, # Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in &quot;serial number&quot; format.
+                                  &quot;numberValue&quot;: 3.14, # Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in SERIAL_NUMBER format.
                                   &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value. Leading single quotes are not included. For example, if the user typed `&#x27;123` into the UI, this would be represented as a `stringValue` of `&quot;123&quot;`.
                                 },
                               ],
@@ -5167,7 +5167,7 @@
                               &quot;type&quot;: &quot;A String&quot;, # The type of error.
                             },
                             &quot;formulaValue&quot;: &quot;A String&quot;, # Represents a formula.
-                            &quot;numberValue&quot;: 3.14, # Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in &quot;serial number&quot; format.
+                            &quot;numberValue&quot;: 3.14, # Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in SERIAL_NUMBER format.
                             &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value. Leading single quotes are not included. For example, if the user typed `&#x27;123` into the UI, this would be represented as a `stringValue` of `&quot;123&quot;`.
                           },
                         ],
@@ -5183,7 +5183,7 @@
                               &quot;type&quot;: &quot;A String&quot;, # The type of error.
                             },
                             &quot;formulaValue&quot;: &quot;A String&quot;, # Represents a formula.
-                            &quot;numberValue&quot;: 3.14, # Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in &quot;serial number&quot; format.
+                            &quot;numberValue&quot;: 3.14, # Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in SERIAL_NUMBER format.
                             &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value. Leading single quotes are not included. For example, if the user typed `&#x27;123` into the UI, this would be represented as a `stringValue` of `&quot;123&quot;`.
                           },
                         },
@@ -5265,7 +5265,7 @@
                                   &quot;type&quot;: &quot;A String&quot;, # The type of error.
                                 },
                                 &quot;formulaValue&quot;: &quot;A String&quot;, # Represents a formula.
-                                &quot;numberValue&quot;: 3.14, # Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in &quot;serial number&quot; format.
+                                &quot;numberValue&quot;: 3.14, # Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in SERIAL_NUMBER format.
                                 &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value. Leading single quotes are not included. For example, if the user typed `&#x27;123` into the UI, this would be represented as a `stringValue` of `&quot;123&quot;`.
                               },
                               &quot;items&quot;: [ # The items in the source data that should be placed into this group. Each item may be a string, number, or boolean. Items may appear in at most one group within a given ManualRule. Items that do not appear in any group will appear on their own.
@@ -5276,7 +5276,7 @@
                                     &quot;type&quot;: &quot;A String&quot;, # The type of error.
                                   },
                                   &quot;formulaValue&quot;: &quot;A String&quot;, # Represents a formula.
-                                  &quot;numberValue&quot;: 3.14, # Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in &quot;serial number&quot; format.
+                                  &quot;numberValue&quot;: 3.14, # Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in SERIAL_NUMBER format.
                                   &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value. Leading single quotes are not included. For example, if the user typed `&#x27;123` into the UI, this would be represented as a `stringValue` of `&quot;123&quot;`.
                                 },
                               ],
@@ -5298,7 +5298,7 @@
                               &quot;type&quot;: &quot;A String&quot;, # The type of error.
                             },
                             &quot;formulaValue&quot;: &quot;A String&quot;, # Represents a formula.
-                            &quot;numberValue&quot;: 3.14, # Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in &quot;serial number&quot; format.
+                            &quot;numberValue&quot;: 3.14, # Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in SERIAL_NUMBER format.
                             &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value. Leading single quotes are not included. For example, if the user typed `&#x27;123` into the UI, this would be represented as a `stringValue` of `&quot;123&quot;`.
                           },
                         ],
@@ -5314,7 +5314,7 @@
                               &quot;type&quot;: &quot;A String&quot;, # The type of error.
                             },
                             &quot;formulaValue&quot;: &quot;A String&quot;, # Represents a formula.
-                            &quot;numberValue&quot;: 3.14, # Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in &quot;serial number&quot; format.
+                            &quot;numberValue&quot;: 3.14, # Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in SERIAL_NUMBER format.
                             &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value. Leading single quotes are not included. For example, if the user typed `&#x27;123` into the UI, this would be represented as a `stringValue` of `&quot;123&quot;`.
                           },
                         },
@@ -5480,7 +5480,7 @@
                     &quot;top&quot;: 42, # The top padding of the cell.
                   },
                   &quot;textDirection&quot;: &quot;A String&quot;, # The direction of the text in the cell.
-                  &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The format of the text in the cell (unless overridden by a format run).
+                  &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The format of the text in the cell (unless overridden by a format run). Setting a cell-level link will clear the cell&#x27;s existing links. Setting a link in a format run will clear the cell-level link.
                     &quot;bold&quot;: True or False, # True if the text is bold.
                     &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
                     &quot;fontSize&quot;: 42, # The size of the font.
@@ -5520,7 +5520,7 @@
                     &quot;type&quot;: &quot;A String&quot;, # The type of error.
                   },
                   &quot;formulaValue&quot;: &quot;A String&quot;, # Represents a formula.
-                  &quot;numberValue&quot;: 3.14, # Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in &quot;serial number&quot; format.
+                  &quot;numberValue&quot;: 3.14, # Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in SERIAL_NUMBER format.
                   &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value. Leading single quotes are not included. For example, if the user typed `&#x27;123` into the UI, this would be represented as a `stringValue` of `&quot;123&quot;`.
                 },
               },
@@ -5555,7 +5555,7 @@
           &quot;basicChart&quot;: { # The specification for a basic chart. See BasicChartType for the list of charts this supports. # A basic chart specification, can be one of many kinds of charts. See BasicChartType for the list of all charts this supports.
             &quot;axis&quot;: [ # The axis on the chart.
               { # An axis of the chart. A chart may not have more than one axis per axis position.
-                &quot;format&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The format of the title. Only valid if the axis is not associated with the domain.
+                &quot;format&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The format of the title. Only valid if the axis is not associated with the domain. The link field is not supported.
                   &quot;bold&quot;: True or False, # True if the text is bold.
                   &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
                   &quot;fontSize&quot;: 42, # The size of the font.
@@ -5677,7 +5677,7 @@
                     },
                   },
                   &quot;placement&quot;: &quot;A String&quot;, # The placement of the data label relative to the labeled data.
-                  &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The text format used for the data label.
+                  &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The text format used for the data label. The link field is not supported.
                     &quot;bold&quot;: True or False, # True if the text is bold.
                     &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
                     &quot;fontSize&quot;: 42, # The size of the font.
@@ -5799,7 +5799,7 @@
                 },
               },
               &quot;placement&quot;: &quot;A String&quot;, # The placement of the data label relative to the labeled data.
-              &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The text format used for the data label.
+              &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The text format used for the data label. The link field is not supported.
                 &quot;bold&quot;: True or False, # True if the text is bold.
                 &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
                 &quot;fontSize&quot;: 42, # The size of the font.
@@ -5901,7 +5901,7 @@
                 ],
               },
             },
-            &quot;bubbleTextStyle&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The format of the text inside the bubbles. Strikethrough and underline are not supported.
+            &quot;bubbleTextStyle&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The format of the text inside the bubbles. Strikethrough, underline, and link are not supported.
               &quot;bold&quot;: True or False, # True if the text is bold.
               &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
               &quot;fontSize&quot;: 42, # The size of the font.
@@ -6516,7 +6516,7 @@
                 },
                 &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
               },
-              &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # Text formatting options for baseline value.
+              &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # Text formatting options for baseline value. The link field is not supported.
                 &quot;bold&quot;: True or False, # True if the text is bold.
                 &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
                 &quot;fontSize&quot;: 42, # The size of the font.
@@ -6578,7 +6578,7 @@
               &quot;position&quot;: { # Position settings for text. # Specifies the horizontal text positioning of key value. This field is optional. If not specified, default positioning is used.
                 &quot;horizontalAlignment&quot;: &quot;A String&quot;, # Horizontal alignment setting for the piece of text.
               },
-              &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # Text formatting options for key value.
+              &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # Text formatting options for key value. The link field is not supported.
                 &quot;bold&quot;: True or False, # True if the text is bold.
                 &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
                 &quot;fontSize&quot;: 42, # The size of the font.
@@ -6648,7 +6648,7 @@
             },
           ],
           &quot;subtitle&quot;: &quot;A String&quot;, # The subtitle of the chart.
-          &quot;subtitleTextFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The subtitle text format. Strikethrough and underline are not supported.
+          &quot;subtitleTextFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The subtitle text format. Strikethrough, underline, and link are not supported.
             &quot;bold&quot;: True or False, # True if the text is bold.
             &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
             &quot;fontSize&quot;: 42, # The size of the font.
@@ -6678,7 +6678,7 @@
             &quot;horizontalAlignment&quot;: &quot;A String&quot;, # Horizontal alignment setting for the piece of text.
           },
           &quot;title&quot;: &quot;A String&quot;, # The title of the chart.
-          &quot;titleTextFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The title text format. Strikethrough and underline are not supported.
+          &quot;titleTextFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The title text format. Strikethrough, underline, and link are not supported.
             &quot;bold&quot;: True or False, # True if the text is bold.
             &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
             &quot;fontSize&quot;: 42, # The size of the font.
@@ -6898,7 +6898,7 @@
                 ],
               },
             },
-            &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The text format for all labels on the chart.
+            &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The text format for all labels on the chart. The link field is not supported.
               &quot;bold&quot;: True or False, # True if the text is bold.
               &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
               &quot;fontSize&quot;: 42, # The size of the font.
@@ -7027,7 +7027,7 @@
                     },
                   },
                   &quot;placement&quot;: &quot;A String&quot;, # The placement of the data label relative to the labeled data.
-                  &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The text format used for the data label.
+                  &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The text format used for the data label. The link field is not supported.
                     &quot;bold&quot;: True or False, # True if the text is bold.
                     &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
                     &quot;fontSize&quot;: 42, # The size of the font.
@@ -7142,7 +7142,7 @@
                 },
               },
               &quot;placement&quot;: &quot;A String&quot;, # The placement of the data label relative to the labeled data.
-              &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The text format used for the data label.
+              &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The text format used for the data label. The link field is not supported.
                 &quot;bold&quot;: True or False, # True if the text is bold.
                 &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
                 &quot;fontSize&quot;: 42, # The size of the font.
@@ -7294,7 +7294,7 @@
                 &quot;top&quot;: 42, # The top padding of the cell.
               },
               &quot;textDirection&quot;: &quot;A String&quot;, # The direction of the text in the cell.
-              &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The format of the text in the cell (unless overridden by a format run).
+              &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The format of the text in the cell (unless overridden by a format run). Setting a cell-level link will clear the cell&#x27;s existing links. Setting a link in a format run will clear the cell-level link.
                 &quot;bold&quot;: True or False, # True if the text is bold.
                 &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
                 &quot;fontSize&quot;: 42, # The size of the font.
@@ -7914,7 +7914,7 @@
             },
           },
           &quot;horizontalAlignment&quot;: &quot;A String&quot;, # The horizontal alignment of title in the slicer. If unspecified, defaults to `LEFT`
-          &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The text format of title in the slicer.
+          &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The text format of title in the slicer. The link field is not supported.
             &quot;bold&quot;: True or False, # True if the text is bold.
             &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
             &quot;fontSize&quot;: 42, # The size of the font.
@@ -8054,7 +8054,7 @@
               &quot;top&quot;: 42, # The top padding of the cell.
             },
             &quot;textDirection&quot;: &quot;A String&quot;, # The direction of the text in the cell.
-            &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The format of the text in the cell (unless overridden by a format run).
+            &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The format of the text in the cell (unless overridden by a format run). Setting a cell-level link will clear the cell&#x27;s existing links. Setting a link in a format run will clear the cell-level link.
               &quot;bold&quot;: True or False, # True if the text is bold.
               &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
               &quot;fontSize&quot;: 42, # The size of the font.
@@ -8323,7 +8323,7 @@
             &quot;basicChart&quot;: { # The specification for a basic chart. See BasicChartType for the list of charts this supports. # A basic chart specification, can be one of many kinds of charts. See BasicChartType for the list of all charts this supports.
               &quot;axis&quot;: [ # The axis on the chart.
                 { # An axis of the chart. A chart may not have more than one axis per axis position.
-                  &quot;format&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The format of the title. Only valid if the axis is not associated with the domain.
+                  &quot;format&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The format of the title. Only valid if the axis is not associated with the domain. The link field is not supported.
                     &quot;bold&quot;: True or False, # True if the text is bold.
                     &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
                     &quot;fontSize&quot;: 42, # The size of the font.
@@ -8445,7 +8445,7 @@
                       },
                     },
                     &quot;placement&quot;: &quot;A String&quot;, # The placement of the data label relative to the labeled data.
-                    &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The text format used for the data label.
+                    &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The text format used for the data label. The link field is not supported.
                       &quot;bold&quot;: True or False, # True if the text is bold.
                       &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
                       &quot;fontSize&quot;: 42, # The size of the font.
@@ -8567,7 +8567,7 @@
                   },
                 },
                 &quot;placement&quot;: &quot;A String&quot;, # The placement of the data label relative to the labeled data.
-                &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The text format used for the data label.
+                &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The text format used for the data label. The link field is not supported.
                   &quot;bold&quot;: True or False, # True if the text is bold.
                   &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
                   &quot;fontSize&quot;: 42, # The size of the font.
@@ -8669,7 +8669,7 @@
                   ],
                 },
               },
-              &quot;bubbleTextStyle&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The format of the text inside the bubbles. Strikethrough and underline are not supported.
+              &quot;bubbleTextStyle&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The format of the text inside the bubbles. Strikethrough, underline, and link are not supported.
                 &quot;bold&quot;: True or False, # True if the text is bold.
                 &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
                 &quot;fontSize&quot;: 42, # The size of the font.
@@ -9284,7 +9284,7 @@
                   },
                   &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
                 },
-                &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # Text formatting options for baseline value.
+                &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # Text formatting options for baseline value. The link field is not supported.
                   &quot;bold&quot;: True or False, # True if the text is bold.
                   &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
                   &quot;fontSize&quot;: 42, # The size of the font.
@@ -9346,7 +9346,7 @@
                 &quot;position&quot;: { # Position settings for text. # Specifies the horizontal text positioning of key value. This field is optional. If not specified, default positioning is used.
                   &quot;horizontalAlignment&quot;: &quot;A String&quot;, # Horizontal alignment setting for the piece of text.
                 },
-                &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # Text formatting options for key value.
+                &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # Text formatting options for key value. The link field is not supported.
                   &quot;bold&quot;: True or False, # True if the text is bold.
                   &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
                   &quot;fontSize&quot;: 42, # The size of the font.
@@ -9416,7 +9416,7 @@
               },
             ],
             &quot;subtitle&quot;: &quot;A String&quot;, # The subtitle of the chart.
-            &quot;subtitleTextFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The subtitle text format. Strikethrough and underline are not supported.
+            &quot;subtitleTextFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The subtitle text format. Strikethrough, underline, and link are not supported.
               &quot;bold&quot;: True or False, # True if the text is bold.
               &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
               &quot;fontSize&quot;: 42, # The size of the font.
@@ -9446,7 +9446,7 @@
               &quot;horizontalAlignment&quot;: &quot;A String&quot;, # Horizontal alignment setting for the piece of text.
             },
             &quot;title&quot;: &quot;A String&quot;, # The title of the chart.
-            &quot;titleTextFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The title text format. Strikethrough and underline are not supported.
+            &quot;titleTextFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The title text format. Strikethrough, underline, and link are not supported.
               &quot;bold&quot;: True or False, # True if the text is bold.
               &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
               &quot;fontSize&quot;: 42, # The size of the font.
@@ -9666,7 +9666,7 @@
                   ],
                 },
               },
-              &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The text format for all labels on the chart.
+              &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The text format for all labels on the chart. The link field is not supported.
                 &quot;bold&quot;: True or False, # True if the text is bold.
                 &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
                 &quot;fontSize&quot;: 42, # The size of the font.
@@ -9795,7 +9795,7 @@
                       },
                     },
                     &quot;placement&quot;: &quot;A String&quot;, # The placement of the data label relative to the labeled data.
-                    &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The text format used for the data label.
+                    &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The text format used for the data label. The link field is not supported.
                       &quot;bold&quot;: True or False, # True if the text is bold.
                       &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
                       &quot;fontSize&quot;: 42, # The size of the font.
@@ -9910,7 +9910,7 @@
                   },
                 },
                 &quot;placement&quot;: &quot;A String&quot;, # The placement of the data label relative to the labeled data.
-                &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The text format used for the data label.
+                &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The text format used for the data label. The link field is not supported.
                   &quot;bold&quot;: True or False, # True if the text is bold.
                   &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
                   &quot;fontSize&quot;: 42, # The size of the font.
@@ -10339,7 +10339,7 @@
               },
             },
             &quot;horizontalAlignment&quot;: &quot;A String&quot;, # The horizontal alignment of title in the slicer. If unspecified, defaults to `LEFT`
-            &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The text format of title in the slicer.
+            &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The text format of title in the slicer. The link field is not supported.
               &quot;bold&quot;: True or False, # True if the text is bold.
               &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
               &quot;fontSize&quot;: 42, # The size of the font.
@@ -10507,7 +10507,7 @@
                 &quot;top&quot;: 42, # The top padding of the cell.
               },
               &quot;textDirection&quot;: &quot;A String&quot;, # The direction of the text in the cell.
-              &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The format of the text in the cell (unless overridden by a format run).
+              &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The format of the text in the cell (unless overridden by a format run). Setting a cell-level link will clear the cell&#x27;s existing links. Setting a link in a format run will clear the cell-level link.
                 &quot;bold&quot;: True or False, # True if the text is bold.
                 &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
                 &quot;fontSize&quot;: 42, # The size of the font.
@@ -11012,7 +11012,7 @@
                 &quot;top&quot;: 42, # The top padding of the cell.
               },
               &quot;textDirection&quot;: &quot;A String&quot;, # The direction of the text in the cell.
-              &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The format of the text in the cell (unless overridden by a format run).
+              &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The format of the text in the cell (unless overridden by a format run). Setting a cell-level link will clear the cell&#x27;s existing links. Setting a link in a format run will clear the cell-level link.
                 &quot;bold&quot;: True or False, # True if the text is bold.
                 &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
                 &quot;fontSize&quot;: 42, # The size of the font.
@@ -11234,7 +11234,7 @@
                 &quot;top&quot;: 42, # The top padding of the cell.
               },
               &quot;textDirection&quot;: &quot;A String&quot;, # The direction of the text in the cell.
-              &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The format of the text in the cell (unless overridden by a format run).
+              &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The format of the text in the cell (unless overridden by a format run). Setting a cell-level link will clear the cell&#x27;s existing links. Setting a link in a format run will clear the cell-level link.
                 &quot;bold&quot;: True or False, # True if the text is bold.
                 &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
                 &quot;fontSize&quot;: 42, # The size of the font.
@@ -11425,7 +11425,7 @@
     },
   ],
   &quot;spreadsheetId&quot;: &quot;A String&quot;, # The spreadsheet the updates were applied to.
-  &quot;updatedSpreadsheet&quot;: { # Resource that represents a spreadsheet. # The spreadsheet after updates were applied. This is only set if [BatchUpdateSpreadsheetRequest.include_spreadsheet_in_response] is `true`.
+  &quot;updatedSpreadsheet&quot;: { # Resource that represents a spreadsheet. # The spreadsheet after updates were applied. This is only set if BatchUpdateSpreadsheetRequest.include_spreadsheet_in_response is `true`.
     &quot;dataSourceSchedules&quot;: [ # Output only. A list of data source refresh schedules.
       { # Schedule for refreshing the data source. Data sources in the spreadsheet are refreshed within a time interval. You can specify the start time by clicking the Scheduled Refresh button in the Sheets editor, but the interval is fixed at 4 hours. For example, if you specify a start time of 8am , the refresh will take place between 8am and 12pm every day.
         &quot;dailySchedule&quot;: { # A schedule for data to refresh every day in a given time interval. # Daily refresh schedule.
@@ -11647,7 +11647,7 @@
           &quot;top&quot;: 42, # The top padding of the cell.
         },
         &quot;textDirection&quot;: &quot;A String&quot;, # The direction of the text in the cell.
-        &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The format of the text in the cell (unless overridden by a format run).
+        &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The format of the text in the cell (unless overridden by a format run). Setting a cell-level link will clear the cell&#x27;s existing links. Setting a link in a format run will clear the cell-level link.
           &quot;bold&quot;: True or False, # True if the text is bold.
           &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
           &quot;fontSize&quot;: 42, # The size of the font.
@@ -12044,7 +12044,7 @@
               &quot;basicChart&quot;: { # The specification for a basic chart. See BasicChartType for the list of charts this supports. # A basic chart specification, can be one of many kinds of charts. See BasicChartType for the list of all charts this supports.
                 &quot;axis&quot;: [ # The axis on the chart.
                   { # An axis of the chart. A chart may not have more than one axis per axis position.
-                    &quot;format&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The format of the title. Only valid if the axis is not associated with the domain.
+                    &quot;format&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The format of the title. Only valid if the axis is not associated with the domain. The link field is not supported.
                       &quot;bold&quot;: True or False, # True if the text is bold.
                       &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
                       &quot;fontSize&quot;: 42, # The size of the font.
@@ -12166,7 +12166,7 @@
                         },
                       },
                       &quot;placement&quot;: &quot;A String&quot;, # The placement of the data label relative to the labeled data.
-                      &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The text format used for the data label.
+                      &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The text format used for the data label. The link field is not supported.
                         &quot;bold&quot;: True or False, # True if the text is bold.
                         &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
                         &quot;fontSize&quot;: 42, # The size of the font.
@@ -12288,7 +12288,7 @@
                     },
                   },
                   &quot;placement&quot;: &quot;A String&quot;, # The placement of the data label relative to the labeled data.
-                  &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The text format used for the data label.
+                  &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The text format used for the data label. The link field is not supported.
                     &quot;bold&quot;: True or False, # True if the text is bold.
                     &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
                     &quot;fontSize&quot;: 42, # The size of the font.
@@ -12390,7 +12390,7 @@
                     ],
                   },
                 },
-                &quot;bubbleTextStyle&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The format of the text inside the bubbles. Strikethrough and underline are not supported.
+                &quot;bubbleTextStyle&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The format of the text inside the bubbles. Strikethrough, underline, and link are not supported.
                   &quot;bold&quot;: True or False, # True if the text is bold.
                   &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
                   &quot;fontSize&quot;: 42, # The size of the font.
@@ -13005,7 +13005,7 @@
                     },
                     &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
                   },
-                  &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # Text formatting options for baseline value.
+                  &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # Text formatting options for baseline value. The link field is not supported.
                     &quot;bold&quot;: True or False, # True if the text is bold.
                     &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
                     &quot;fontSize&quot;: 42, # The size of the font.
@@ -13067,7 +13067,7 @@
                   &quot;position&quot;: { # Position settings for text. # Specifies the horizontal text positioning of key value. This field is optional. If not specified, default positioning is used.
                     &quot;horizontalAlignment&quot;: &quot;A String&quot;, # Horizontal alignment setting for the piece of text.
                   },
-                  &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # Text formatting options for key value.
+                  &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # Text formatting options for key value. The link field is not supported.
                     &quot;bold&quot;: True or False, # True if the text is bold.
                     &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
                     &quot;fontSize&quot;: 42, # The size of the font.
@@ -13137,7 +13137,7 @@
                 },
               ],
               &quot;subtitle&quot;: &quot;A String&quot;, # The subtitle of the chart.
-              &quot;subtitleTextFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The subtitle text format. Strikethrough and underline are not supported.
+              &quot;subtitleTextFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The subtitle text format. Strikethrough, underline, and link are not supported.
                 &quot;bold&quot;: True or False, # True if the text is bold.
                 &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
                 &quot;fontSize&quot;: 42, # The size of the font.
@@ -13167,7 +13167,7 @@
                 &quot;horizontalAlignment&quot;: &quot;A String&quot;, # Horizontal alignment setting for the piece of text.
               },
               &quot;title&quot;: &quot;A String&quot;, # The title of the chart.
-              &quot;titleTextFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The title text format. Strikethrough and underline are not supported.
+              &quot;titleTextFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The title text format. Strikethrough, underline, and link are not supported.
                 &quot;bold&quot;: True or False, # True if the text is bold.
                 &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
                 &quot;fontSize&quot;: 42, # The size of the font.
@@ -13387,7 +13387,7 @@
                     ],
                   },
                 },
-                &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The text format for all labels on the chart.
+                &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The text format for all labels on the chart. The link field is not supported.
                   &quot;bold&quot;: True or False, # True if the text is bold.
                   &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
                   &quot;fontSize&quot;: 42, # The size of the font.
@@ -13516,7 +13516,7 @@
                         },
                       },
                       &quot;placement&quot;: &quot;A String&quot;, # The placement of the data label relative to the labeled data.
-                      &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The text format used for the data label.
+                      &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The text format used for the data label. The link field is not supported.
                         &quot;bold&quot;: True or False, # True if the text is bold.
                         &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
                         &quot;fontSize&quot;: 42, # The size of the font.
@@ -13631,7 +13631,7 @@
                     },
                   },
                   &quot;placement&quot;: &quot;A String&quot;, # The placement of the data label relative to the labeled data.
-                  &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The text format used for the data label.
+                  &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The text format used for the data label. The link field is not supported.
                     &quot;bold&quot;: True or False, # True if the text is bold.
                     &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
                     &quot;fontSize&quot;: 42, # The size of the font.
@@ -13794,7 +13794,7 @@
                   &quot;top&quot;: 42, # The top padding of the cell.
                 },
                 &quot;textDirection&quot;: &quot;A String&quot;, # The direction of the text in the cell.
-                &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The format of the text in the cell (unless overridden by a format run).
+                &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The format of the text in the cell (unless overridden by a format run). Setting a cell-level link will clear the cell&#x27;s existing links. Setting a link in a format run will clear the cell-level link.
                   &quot;bold&quot;: True or False, # True if the text is bold.
                   &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
                   &quot;fontSize&quot;: 42, # The size of the font.
@@ -13933,7 +13933,7 @@
               { # Data about each cell in a row.
                 &quot;values&quot;: [ # The values in the row, one per column.
                   { # Data about a specific cell.
-                    &quot;dataSourceFormula&quot;: { # A data source formula. # Output only. Information about a data source formula on the cell. The field is set if user_entered_value is a formula referencing some DATA_SOURCE sheet, e.g `=SUM(DataSheet!Column)`.
+                    &quot;dataSourceFormula&quot;: { # A data source formula. # Output only. Information about a data source formula on the cell. The field is set if user_entered_value is a formula referencing some DATA_SOURCE sheet, e.g. `=SUM(DataSheet!Column)`.
                       &quot;dataExecutionStatus&quot;: { # The data execution status. A data execution is created to sync a data source object with the latest data from a DataSource. It is usually scheduled to run at background, you can check its state to tell if an execution completes There are several scenarios where a data execution is triggered to run: * Adding a data source creates an associated data source sheet as well as a data execution to sync the data from the data source to the sheet. * Updating a data source creates a data execution to refresh the associated data source sheet similarly. * You can send refresh request to explicitly refresh one or multiple data source objects. # Output only. The data execution status.
                         &quot;errorCode&quot;: &quot;A String&quot;, # The error code.
                         &quot;errorMessage&quot;: &quot;A String&quot;, # The error message, which may be empty.
@@ -14170,7 +14170,7 @@
                         &quot;top&quot;: 42, # The top padding of the cell.
                       },
                       &quot;textDirection&quot;: &quot;A String&quot;, # The direction of the text in the cell.
-                      &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The format of the text in the cell (unless overridden by a format run).
+                      &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The format of the text in the cell (unless overridden by a format run). Setting a cell-level link will clear the cell&#x27;s existing links. Setting a link in a format run will clear the cell-level link.
                         &quot;bold&quot;: True or False, # True if the text is bold.
                         &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
                         &quot;fontSize&quot;: 42, # The size of the font.
@@ -14210,11 +14210,11 @@
                         &quot;type&quot;: &quot;A String&quot;, # The type of error.
                       },
                       &quot;formulaValue&quot;: &quot;A String&quot;, # Represents a formula.
-                      &quot;numberValue&quot;: 3.14, # Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in &quot;serial number&quot; format.
+                      &quot;numberValue&quot;: 3.14, # Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in SERIAL_NUMBER format.
                       &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value. Leading single quotes are not included. For example, if the user typed `&#x27;123` into the UI, this would be represented as a `stringValue` of `&quot;123&quot;`.
                     },
                     &quot;formattedValue&quot;: &quot;A String&quot;, # The formatted value of the cell. This is the value as it&#x27;s shown to the user. This field is read-only.
-                    &quot;hyperlink&quot;: &quot;A String&quot;, # A hyperlink this cell points to, if any. If the cell contains multiple hyperlinks, this field will be empty. This field is read-only. To set it, use a `=HYPERLINK` formula in the userEnteredValue.formulaValue field.
+                    &quot;hyperlink&quot;: &quot;A String&quot;, # A hyperlink this cell points to, if any. If the cell contains multiple hyperlinks, this field will be empty. This field is read-only. To set it, use a `=HYPERLINK` formula in the userEnteredValue.formulaValue field. A cell-level link can also be set from the userEnteredFormat.textFormat field. Alternatively, set a hyperlink in the textFormatRun.format.link field that spans the entire cell.
                     &quot;note&quot;: &quot;A String&quot;, # Any note on the cell.
                     &quot;pivotTable&quot;: { # A pivot table. # A pivot table anchored at this cell. The size of pivot table itself is computed dynamically based on its data, grouping, filters, values, etc. Only the top-left cell of the pivot table contains the pivot table definition. The other cells will contain the calculated values of the results of the pivot in their effective_value fields.
                       &quot;columns&quot;: [ # Each column grouping in the pivot table.
@@ -14245,7 +14245,7 @@
                                       &quot;type&quot;: &quot;A String&quot;, # The type of error.
                                     },
                                     &quot;formulaValue&quot;: &quot;A String&quot;, # Represents a formula.
-                                    &quot;numberValue&quot;: 3.14, # Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in &quot;serial number&quot; format.
+                                    &quot;numberValue&quot;: 3.14, # Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in SERIAL_NUMBER format.
                                     &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value. Leading single quotes are not included. For example, if the user typed `&#x27;123` into the UI, this would be represented as a `stringValue` of `&quot;123&quot;`.
                                   },
                                   &quot;items&quot;: [ # The items in the source data that should be placed into this group. Each item may be a string, number, or boolean. Items may appear in at most one group within a given ManualRule. Items that do not appear in any group will appear on their own.
@@ -14256,7 +14256,7 @@
                                         &quot;type&quot;: &quot;A String&quot;, # The type of error.
                                       },
                                       &quot;formulaValue&quot;: &quot;A String&quot;, # Represents a formula.
-                                      &quot;numberValue&quot;: 3.14, # Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in &quot;serial number&quot; format.
+                                      &quot;numberValue&quot;: 3.14, # Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in SERIAL_NUMBER format.
                                       &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value. Leading single quotes are not included. For example, if the user typed `&#x27;123` into the UI, this would be represented as a `stringValue` of `&quot;123&quot;`.
                                     },
                                   ],
@@ -14278,7 +14278,7 @@
                                   &quot;type&quot;: &quot;A String&quot;, # The type of error.
                                 },
                                 &quot;formulaValue&quot;: &quot;A String&quot;, # Represents a formula.
-                                &quot;numberValue&quot;: 3.14, # Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in &quot;serial number&quot; format.
+                                &quot;numberValue&quot;: 3.14, # Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in SERIAL_NUMBER format.
                                 &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value. Leading single quotes are not included. For example, if the user typed `&#x27;123` into the UI, this would be represented as a `stringValue` of `&quot;123&quot;`.
                               },
                             ],
@@ -14294,7 +14294,7 @@
                                   &quot;type&quot;: &quot;A String&quot;, # The type of error.
                                 },
                                 &quot;formulaValue&quot;: &quot;A String&quot;, # Represents a formula.
-                                &quot;numberValue&quot;: 3.14, # Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in &quot;serial number&quot; format.
+                                &quot;numberValue&quot;: 3.14, # Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in SERIAL_NUMBER format.
                                 &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value. Leading single quotes are not included. For example, if the user typed `&#x27;123` into the UI, this would be represented as a `stringValue` of `&quot;123&quot;`.
                               },
                             },
@@ -14376,7 +14376,7 @@
                                       &quot;type&quot;: &quot;A String&quot;, # The type of error.
                                     },
                                     &quot;formulaValue&quot;: &quot;A String&quot;, # Represents a formula.
-                                    &quot;numberValue&quot;: 3.14, # Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in &quot;serial number&quot; format.
+                                    &quot;numberValue&quot;: 3.14, # Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in SERIAL_NUMBER format.
                                     &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value. Leading single quotes are not included. For example, if the user typed `&#x27;123` into the UI, this would be represented as a `stringValue` of `&quot;123&quot;`.
                                   },
                                   &quot;items&quot;: [ # The items in the source data that should be placed into this group. Each item may be a string, number, or boolean. Items may appear in at most one group within a given ManualRule. Items that do not appear in any group will appear on their own.
@@ -14387,7 +14387,7 @@
                                         &quot;type&quot;: &quot;A String&quot;, # The type of error.
                                       },
                                       &quot;formulaValue&quot;: &quot;A String&quot;, # Represents a formula.
-                                      &quot;numberValue&quot;: 3.14, # Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in &quot;serial number&quot; format.
+                                      &quot;numberValue&quot;: 3.14, # Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in SERIAL_NUMBER format.
                                       &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value. Leading single quotes are not included. For example, if the user typed `&#x27;123` into the UI, this would be represented as a `stringValue` of `&quot;123&quot;`.
                                     },
                                   ],
@@ -14409,7 +14409,7 @@
                                   &quot;type&quot;: &quot;A String&quot;, # The type of error.
                                 },
                                 &quot;formulaValue&quot;: &quot;A String&quot;, # Represents a formula.
-                                &quot;numberValue&quot;: 3.14, # Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in &quot;serial number&quot; format.
+                                &quot;numberValue&quot;: 3.14, # Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in SERIAL_NUMBER format.
                                 &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value. Leading single quotes are not included. For example, if the user typed `&#x27;123` into the UI, this would be represented as a `stringValue` of `&quot;123&quot;`.
                               },
                             ],
@@ -14425,7 +14425,7 @@
                                   &quot;type&quot;: &quot;A String&quot;, # The type of error.
                                 },
                                 &quot;formulaValue&quot;: &quot;A String&quot;, # Represents a formula.
-                                &quot;numberValue&quot;: 3.14, # Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in &quot;serial number&quot; format.
+                                &quot;numberValue&quot;: 3.14, # Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in SERIAL_NUMBER format.
                                 &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value. Leading single quotes are not included. For example, if the user typed `&#x27;123` into the UI, this would be represented as a `stringValue` of `&quot;123&quot;`.
                               },
                             },
@@ -14591,7 +14591,7 @@
                         &quot;top&quot;: 42, # The top padding of the cell.
                       },
                       &quot;textDirection&quot;: &quot;A String&quot;, # The direction of the text in the cell.
-                      &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The format of the text in the cell (unless overridden by a format run).
+                      &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The format of the text in the cell (unless overridden by a format run). Setting a cell-level link will clear the cell&#x27;s existing links. Setting a link in a format run will clear the cell-level link.
                         &quot;bold&quot;: True or False, # True if the text is bold.
                         &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
                         &quot;fontSize&quot;: 42, # The size of the font.
@@ -14631,7 +14631,7 @@
                         &quot;type&quot;: &quot;A String&quot;, # The type of error.
                       },
                       &quot;formulaValue&quot;: &quot;A String&quot;, # Represents a formula.
-                      &quot;numberValue&quot;: 3.14, # Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in &quot;serial number&quot; format.
+                      &quot;numberValue&quot;: 3.14, # Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in SERIAL_NUMBER format.
                       &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value. Leading single quotes are not included. For example, if the user typed `&#x27;123` into the UI, this would be represented as a `stringValue` of `&quot;123&quot;`.
                     },
                   },
@@ -15033,7 +15033,7 @@
                 },
               },
               &quot;horizontalAlignment&quot;: &quot;A String&quot;, # The horizontal alignment of title in the slicer. If unspecified, defaults to `LEFT`
-              &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The text format of title in the slicer.
+              &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The text format of title in the slicer. The link field is not supported.
                 &quot;bold&quot;: True or False, # True if the text is bold.
                 &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
                 &quot;fontSize&quot;: 42, # The size of the font.
@@ -15306,7 +15306,7 @@
         &quot;top&quot;: 42, # The top padding of the cell.
       },
       &quot;textDirection&quot;: &quot;A String&quot;, # The direction of the text in the cell.
-      &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The format of the text in the cell (unless overridden by a format run).
+      &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The format of the text in the cell (unless overridden by a format run). Setting a cell-level link will clear the cell&#x27;s existing links. Setting a link in a format run will clear the cell-level link.
         &quot;bold&quot;: True or False, # True if the text is bold.
         &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
         &quot;fontSize&quot;: 42, # The size of the font.
@@ -15703,7 +15703,7 @@
             &quot;basicChart&quot;: { # The specification for a basic chart. See BasicChartType for the list of charts this supports. # A basic chart specification, can be one of many kinds of charts. See BasicChartType for the list of all charts this supports.
               &quot;axis&quot;: [ # The axis on the chart.
                 { # An axis of the chart. A chart may not have more than one axis per axis position.
-                  &quot;format&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The format of the title. Only valid if the axis is not associated with the domain.
+                  &quot;format&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The format of the title. Only valid if the axis is not associated with the domain. The link field is not supported.
                     &quot;bold&quot;: True or False, # True if the text is bold.
                     &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
                     &quot;fontSize&quot;: 42, # The size of the font.
@@ -15825,7 +15825,7 @@
                       },
                     },
                     &quot;placement&quot;: &quot;A String&quot;, # The placement of the data label relative to the labeled data.
-                    &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The text format used for the data label.
+                    &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The text format used for the data label. The link field is not supported.
                       &quot;bold&quot;: True or False, # True if the text is bold.
                       &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
                       &quot;fontSize&quot;: 42, # The size of the font.
@@ -15947,7 +15947,7 @@
                   },
                 },
                 &quot;placement&quot;: &quot;A String&quot;, # The placement of the data label relative to the labeled data.
-                &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The text format used for the data label.
+                &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The text format used for the data label. The link field is not supported.
                   &quot;bold&quot;: True or False, # True if the text is bold.
                   &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
                   &quot;fontSize&quot;: 42, # The size of the font.
@@ -16049,7 +16049,7 @@
                   ],
                 },
               },
-              &quot;bubbleTextStyle&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The format of the text inside the bubbles. Strikethrough and underline are not supported.
+              &quot;bubbleTextStyle&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The format of the text inside the bubbles. Strikethrough, underline, and link are not supported.
                 &quot;bold&quot;: True or False, # True if the text is bold.
                 &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
                 &quot;fontSize&quot;: 42, # The size of the font.
@@ -16664,7 +16664,7 @@
                   },
                   &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
                 },
-                &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # Text formatting options for baseline value.
+                &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # Text formatting options for baseline value. The link field is not supported.
                   &quot;bold&quot;: True or False, # True if the text is bold.
                   &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
                   &quot;fontSize&quot;: 42, # The size of the font.
@@ -16726,7 +16726,7 @@
                 &quot;position&quot;: { # Position settings for text. # Specifies the horizontal text positioning of key value. This field is optional. If not specified, default positioning is used.
                   &quot;horizontalAlignment&quot;: &quot;A String&quot;, # Horizontal alignment setting for the piece of text.
                 },
-                &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # Text formatting options for key value.
+                &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # Text formatting options for key value. The link field is not supported.
                   &quot;bold&quot;: True or False, # True if the text is bold.
                   &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
                   &quot;fontSize&quot;: 42, # The size of the font.
@@ -16796,7 +16796,7 @@
               },
             ],
             &quot;subtitle&quot;: &quot;A String&quot;, # The subtitle of the chart.
-            &quot;subtitleTextFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The subtitle text format. Strikethrough and underline are not supported.
+            &quot;subtitleTextFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The subtitle text format. Strikethrough, underline, and link are not supported.
               &quot;bold&quot;: True or False, # True if the text is bold.
               &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
               &quot;fontSize&quot;: 42, # The size of the font.
@@ -16826,7 +16826,7 @@
               &quot;horizontalAlignment&quot;: &quot;A String&quot;, # Horizontal alignment setting for the piece of text.
             },
             &quot;title&quot;: &quot;A String&quot;, # The title of the chart.
-            &quot;titleTextFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The title text format. Strikethrough and underline are not supported.
+            &quot;titleTextFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The title text format. Strikethrough, underline, and link are not supported.
               &quot;bold&quot;: True or False, # True if the text is bold.
               &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
               &quot;fontSize&quot;: 42, # The size of the font.
@@ -17046,7 +17046,7 @@
                   ],
                 },
               },
-              &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The text format for all labels on the chart.
+              &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The text format for all labels on the chart. The link field is not supported.
                 &quot;bold&quot;: True or False, # True if the text is bold.
                 &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
                 &quot;fontSize&quot;: 42, # The size of the font.
@@ -17175,7 +17175,7 @@
                       },
                     },
                     &quot;placement&quot;: &quot;A String&quot;, # The placement of the data label relative to the labeled data.
-                    &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The text format used for the data label.
+                    &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The text format used for the data label. The link field is not supported.
                       &quot;bold&quot;: True or False, # True if the text is bold.
                       &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
                       &quot;fontSize&quot;: 42, # The size of the font.
@@ -17290,7 +17290,7 @@
                   },
                 },
                 &quot;placement&quot;: &quot;A String&quot;, # The placement of the data label relative to the labeled data.
-                &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The text format used for the data label.
+                &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The text format used for the data label. The link field is not supported.
                   &quot;bold&quot;: True or False, # True if the text is bold.
                   &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
                   &quot;fontSize&quot;: 42, # The size of the font.
@@ -17453,7 +17453,7 @@
                 &quot;top&quot;: 42, # The top padding of the cell.
               },
               &quot;textDirection&quot;: &quot;A String&quot;, # The direction of the text in the cell.
-              &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The format of the text in the cell (unless overridden by a format run).
+              &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The format of the text in the cell (unless overridden by a format run). Setting a cell-level link will clear the cell&#x27;s existing links. Setting a link in a format run will clear the cell-level link.
                 &quot;bold&quot;: True or False, # True if the text is bold.
                 &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
                 &quot;fontSize&quot;: 42, # The size of the font.
@@ -17592,7 +17592,7 @@
             { # Data about each cell in a row.
               &quot;values&quot;: [ # The values in the row, one per column.
                 { # Data about a specific cell.
-                  &quot;dataSourceFormula&quot;: { # A data source formula. # Output only. Information about a data source formula on the cell. The field is set if user_entered_value is a formula referencing some DATA_SOURCE sheet, e.g `=SUM(DataSheet!Column)`.
+                  &quot;dataSourceFormula&quot;: { # A data source formula. # Output only. Information about a data source formula on the cell. The field is set if user_entered_value is a formula referencing some DATA_SOURCE sheet, e.g. `=SUM(DataSheet!Column)`.
                     &quot;dataExecutionStatus&quot;: { # The data execution status. A data execution is created to sync a data source object with the latest data from a DataSource. It is usually scheduled to run at background, you can check its state to tell if an execution completes There are several scenarios where a data execution is triggered to run: * Adding a data source creates an associated data source sheet as well as a data execution to sync the data from the data source to the sheet. * Updating a data source creates a data execution to refresh the associated data source sheet similarly. * You can send refresh request to explicitly refresh one or multiple data source objects. # Output only. The data execution status.
                       &quot;errorCode&quot;: &quot;A String&quot;, # The error code.
                       &quot;errorMessage&quot;: &quot;A String&quot;, # The error message, which may be empty.
@@ -17829,7 +17829,7 @@
                       &quot;top&quot;: 42, # The top padding of the cell.
                     },
                     &quot;textDirection&quot;: &quot;A String&quot;, # The direction of the text in the cell.
-                    &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The format of the text in the cell (unless overridden by a format run).
+                    &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The format of the text in the cell (unless overridden by a format run). Setting a cell-level link will clear the cell&#x27;s existing links. Setting a link in a format run will clear the cell-level link.
                       &quot;bold&quot;: True or False, # True if the text is bold.
                       &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
                       &quot;fontSize&quot;: 42, # The size of the font.
@@ -17869,11 +17869,11 @@
                       &quot;type&quot;: &quot;A String&quot;, # The type of error.
                     },
                     &quot;formulaValue&quot;: &quot;A String&quot;, # Represents a formula.
-                    &quot;numberValue&quot;: 3.14, # Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in &quot;serial number&quot; format.
+                    &quot;numberValue&quot;: 3.14, # Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in SERIAL_NUMBER format.
                     &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value. Leading single quotes are not included. For example, if the user typed `&#x27;123` into the UI, this would be represented as a `stringValue` of `&quot;123&quot;`.
                   },
                   &quot;formattedValue&quot;: &quot;A String&quot;, # The formatted value of the cell. This is the value as it&#x27;s shown to the user. This field is read-only.
-                  &quot;hyperlink&quot;: &quot;A String&quot;, # A hyperlink this cell points to, if any. If the cell contains multiple hyperlinks, this field will be empty. This field is read-only. To set it, use a `=HYPERLINK` formula in the userEnteredValue.formulaValue field.
+                  &quot;hyperlink&quot;: &quot;A String&quot;, # A hyperlink this cell points to, if any. If the cell contains multiple hyperlinks, this field will be empty. This field is read-only. To set it, use a `=HYPERLINK` formula in the userEnteredValue.formulaValue field. A cell-level link can also be set from the userEnteredFormat.textFormat field. Alternatively, set a hyperlink in the textFormatRun.format.link field that spans the entire cell.
                   &quot;note&quot;: &quot;A String&quot;, # Any note on the cell.
                   &quot;pivotTable&quot;: { # A pivot table. # A pivot table anchored at this cell. The size of pivot table itself is computed dynamically based on its data, grouping, filters, values, etc. Only the top-left cell of the pivot table contains the pivot table definition. The other cells will contain the calculated values of the results of the pivot in their effective_value fields.
                     &quot;columns&quot;: [ # Each column grouping in the pivot table.
@@ -17904,7 +17904,7 @@
                                     &quot;type&quot;: &quot;A String&quot;, # The type of error.
                                   },
                                   &quot;formulaValue&quot;: &quot;A String&quot;, # Represents a formula.
-                                  &quot;numberValue&quot;: 3.14, # Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in &quot;serial number&quot; format.
+                                  &quot;numberValue&quot;: 3.14, # Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in SERIAL_NUMBER format.
                                   &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value. Leading single quotes are not included. For example, if the user typed `&#x27;123` into the UI, this would be represented as a `stringValue` of `&quot;123&quot;`.
                                 },
                                 &quot;items&quot;: [ # The items in the source data that should be placed into this group. Each item may be a string, number, or boolean. Items may appear in at most one group within a given ManualRule. Items that do not appear in any group will appear on their own.
@@ -17915,7 +17915,7 @@
                                       &quot;type&quot;: &quot;A String&quot;, # The type of error.
                                     },
                                     &quot;formulaValue&quot;: &quot;A String&quot;, # Represents a formula.
-                                    &quot;numberValue&quot;: 3.14, # Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in &quot;serial number&quot; format.
+                                    &quot;numberValue&quot;: 3.14, # Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in SERIAL_NUMBER format.
                                     &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value. Leading single quotes are not included. For example, if the user typed `&#x27;123` into the UI, this would be represented as a `stringValue` of `&quot;123&quot;`.
                                   },
                                 ],
@@ -17937,7 +17937,7 @@
                                 &quot;type&quot;: &quot;A String&quot;, # The type of error.
                               },
                               &quot;formulaValue&quot;: &quot;A String&quot;, # Represents a formula.
-                              &quot;numberValue&quot;: 3.14, # Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in &quot;serial number&quot; format.
+                              &quot;numberValue&quot;: 3.14, # Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in SERIAL_NUMBER format.
                               &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value. Leading single quotes are not included. For example, if the user typed `&#x27;123` into the UI, this would be represented as a `stringValue` of `&quot;123&quot;`.
                             },
                           ],
@@ -17953,7 +17953,7 @@
                                 &quot;type&quot;: &quot;A String&quot;, # The type of error.
                               },
                               &quot;formulaValue&quot;: &quot;A String&quot;, # Represents a formula.
-                              &quot;numberValue&quot;: 3.14, # Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in &quot;serial number&quot; format.
+                              &quot;numberValue&quot;: 3.14, # Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in SERIAL_NUMBER format.
                               &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value. Leading single quotes are not included. For example, if the user typed `&#x27;123` into the UI, this would be represented as a `stringValue` of `&quot;123&quot;`.
                             },
                           },
@@ -18035,7 +18035,7 @@
                                     &quot;type&quot;: &quot;A String&quot;, # The type of error.
                                   },
                                   &quot;formulaValue&quot;: &quot;A String&quot;, # Represents a formula.
-                                  &quot;numberValue&quot;: 3.14, # Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in &quot;serial number&quot; format.
+                                  &quot;numberValue&quot;: 3.14, # Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in SERIAL_NUMBER format.
                                   &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value. Leading single quotes are not included. For example, if the user typed `&#x27;123` into the UI, this would be represented as a `stringValue` of `&quot;123&quot;`.
                                 },
                                 &quot;items&quot;: [ # The items in the source data that should be placed into this group. Each item may be a string, number, or boolean. Items may appear in at most one group within a given ManualRule. Items that do not appear in any group will appear on their own.
@@ -18046,7 +18046,7 @@
                                       &quot;type&quot;: &quot;A String&quot;, # The type of error.
                                     },
                                     &quot;formulaValue&quot;: &quot;A String&quot;, # Represents a formula.
-                                    &quot;numberValue&quot;: 3.14, # Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in &quot;serial number&quot; format.
+                                    &quot;numberValue&quot;: 3.14, # Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in SERIAL_NUMBER format.
                                     &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value. Leading single quotes are not included. For example, if the user typed `&#x27;123` into the UI, this would be represented as a `stringValue` of `&quot;123&quot;`.
                                   },
                                 ],
@@ -18068,7 +18068,7 @@
                                 &quot;type&quot;: &quot;A String&quot;, # The type of error.
                               },
                               &quot;formulaValue&quot;: &quot;A String&quot;, # Represents a formula.
-                              &quot;numberValue&quot;: 3.14, # Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in &quot;serial number&quot; format.
+                              &quot;numberValue&quot;: 3.14, # Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in SERIAL_NUMBER format.
                               &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value. Leading single quotes are not included. For example, if the user typed `&#x27;123` into the UI, this would be represented as a `stringValue` of `&quot;123&quot;`.
                             },
                           ],
@@ -18084,7 +18084,7 @@
                                 &quot;type&quot;: &quot;A String&quot;, # The type of error.
                               },
                               &quot;formulaValue&quot;: &quot;A String&quot;, # Represents a formula.
-                              &quot;numberValue&quot;: 3.14, # Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in &quot;serial number&quot; format.
+                              &quot;numberValue&quot;: 3.14, # Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in SERIAL_NUMBER format.
                               &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value. Leading single quotes are not included. For example, if the user typed `&#x27;123` into the UI, this would be represented as a `stringValue` of `&quot;123&quot;`.
                             },
                           },
@@ -18250,7 +18250,7 @@
                       &quot;top&quot;: 42, # The top padding of the cell.
                     },
                     &quot;textDirection&quot;: &quot;A String&quot;, # The direction of the text in the cell.
-                    &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The format of the text in the cell (unless overridden by a format run).
+                    &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The format of the text in the cell (unless overridden by a format run). Setting a cell-level link will clear the cell&#x27;s existing links. Setting a link in a format run will clear the cell-level link.
                       &quot;bold&quot;: True or False, # True if the text is bold.
                       &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
                       &quot;fontSize&quot;: 42, # The size of the font.
@@ -18290,7 +18290,7 @@
                       &quot;type&quot;: &quot;A String&quot;, # The type of error.
                     },
                     &quot;formulaValue&quot;: &quot;A String&quot;, # Represents a formula.
-                    &quot;numberValue&quot;: 3.14, # Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in &quot;serial number&quot; format.
+                    &quot;numberValue&quot;: 3.14, # Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in SERIAL_NUMBER format.
                     &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value. Leading single quotes are not included. For example, if the user typed `&#x27;123` into the UI, this would be represented as a `stringValue` of `&quot;123&quot;`.
                   },
                 },
@@ -18692,7 +18692,7 @@
               },
             },
             &quot;horizontalAlignment&quot;: &quot;A String&quot;, # The horizontal alignment of title in the slicer. If unspecified, defaults to `LEFT`
-            &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The text format of title in the slicer.
+            &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The text format of title in the slicer. The link field is not supported.
               &quot;bold&quot;: True or False, # True if the text is bold.
               &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
               &quot;fontSize&quot;: 42, # The size of the font.
@@ -18958,7 +18958,7 @@
         &quot;top&quot;: 42, # The top padding of the cell.
       },
       &quot;textDirection&quot;: &quot;A String&quot;, # The direction of the text in the cell.
-      &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The format of the text in the cell (unless overridden by a format run).
+      &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The format of the text in the cell (unless overridden by a format run). Setting a cell-level link will clear the cell&#x27;s existing links. Setting a link in a format run will clear the cell-level link.
         &quot;bold&quot;: True or False, # True if the text is bold.
         &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
         &quot;fontSize&quot;: 42, # The size of the font.
@@ -19355,7 +19355,7 @@
             &quot;basicChart&quot;: { # The specification for a basic chart. See BasicChartType for the list of charts this supports. # A basic chart specification, can be one of many kinds of charts. See BasicChartType for the list of all charts this supports.
               &quot;axis&quot;: [ # The axis on the chart.
                 { # An axis of the chart. A chart may not have more than one axis per axis position.
-                  &quot;format&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The format of the title. Only valid if the axis is not associated with the domain.
+                  &quot;format&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The format of the title. Only valid if the axis is not associated with the domain. The link field is not supported.
                     &quot;bold&quot;: True or False, # True if the text is bold.
                     &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
                     &quot;fontSize&quot;: 42, # The size of the font.
@@ -19477,7 +19477,7 @@
                       },
                     },
                     &quot;placement&quot;: &quot;A String&quot;, # The placement of the data label relative to the labeled data.
-                    &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The text format used for the data label.
+                    &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The text format used for the data label. The link field is not supported.
                       &quot;bold&quot;: True or False, # True if the text is bold.
                       &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
                       &quot;fontSize&quot;: 42, # The size of the font.
@@ -19599,7 +19599,7 @@
                   },
                 },
                 &quot;placement&quot;: &quot;A String&quot;, # The placement of the data label relative to the labeled data.
-                &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The text format used for the data label.
+                &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The text format used for the data label. The link field is not supported.
                   &quot;bold&quot;: True or False, # True if the text is bold.
                   &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
                   &quot;fontSize&quot;: 42, # The size of the font.
@@ -19701,7 +19701,7 @@
                   ],
                 },
               },
-              &quot;bubbleTextStyle&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The format of the text inside the bubbles. Strikethrough and underline are not supported.
+              &quot;bubbleTextStyle&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The format of the text inside the bubbles. Strikethrough, underline, and link are not supported.
                 &quot;bold&quot;: True or False, # True if the text is bold.
                 &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
                 &quot;fontSize&quot;: 42, # The size of the font.
@@ -20316,7 +20316,7 @@
                   },
                   &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
                 },
-                &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # Text formatting options for baseline value.
+                &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # Text formatting options for baseline value. The link field is not supported.
                   &quot;bold&quot;: True or False, # True if the text is bold.
                   &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
                   &quot;fontSize&quot;: 42, # The size of the font.
@@ -20378,7 +20378,7 @@
                 &quot;position&quot;: { # Position settings for text. # Specifies the horizontal text positioning of key value. This field is optional. If not specified, default positioning is used.
                   &quot;horizontalAlignment&quot;: &quot;A String&quot;, # Horizontal alignment setting for the piece of text.
                 },
-                &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # Text formatting options for key value.
+                &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # Text formatting options for key value. The link field is not supported.
                   &quot;bold&quot;: True or False, # True if the text is bold.
                   &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
                   &quot;fontSize&quot;: 42, # The size of the font.
@@ -20448,7 +20448,7 @@
               },
             ],
             &quot;subtitle&quot;: &quot;A String&quot;, # The subtitle of the chart.
-            &quot;subtitleTextFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The subtitle text format. Strikethrough and underline are not supported.
+            &quot;subtitleTextFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The subtitle text format. Strikethrough, underline, and link are not supported.
               &quot;bold&quot;: True or False, # True if the text is bold.
               &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
               &quot;fontSize&quot;: 42, # The size of the font.
@@ -20478,7 +20478,7 @@
               &quot;horizontalAlignment&quot;: &quot;A String&quot;, # Horizontal alignment setting for the piece of text.
             },
             &quot;title&quot;: &quot;A String&quot;, # The title of the chart.
-            &quot;titleTextFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The title text format. Strikethrough and underline are not supported.
+            &quot;titleTextFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The title text format. Strikethrough, underline, and link are not supported.
               &quot;bold&quot;: True or False, # True if the text is bold.
               &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
               &quot;fontSize&quot;: 42, # The size of the font.
@@ -20698,7 +20698,7 @@
                   ],
                 },
               },
-              &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The text format for all labels on the chart.
+              &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The text format for all labels on the chart. The link field is not supported.
                 &quot;bold&quot;: True or False, # True if the text is bold.
                 &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
                 &quot;fontSize&quot;: 42, # The size of the font.
@@ -20827,7 +20827,7 @@
                       },
                     },
                     &quot;placement&quot;: &quot;A String&quot;, # The placement of the data label relative to the labeled data.
-                    &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The text format used for the data label.
+                    &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The text format used for the data label. The link field is not supported.
                       &quot;bold&quot;: True or False, # True if the text is bold.
                       &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
                       &quot;fontSize&quot;: 42, # The size of the font.
@@ -20942,7 +20942,7 @@
                   },
                 },
                 &quot;placement&quot;: &quot;A String&quot;, # The placement of the data label relative to the labeled data.
-                &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The text format used for the data label.
+                &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The text format used for the data label. The link field is not supported.
                   &quot;bold&quot;: True or False, # True if the text is bold.
                   &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
                   &quot;fontSize&quot;: 42, # The size of the font.
@@ -21105,7 +21105,7 @@
                 &quot;top&quot;: 42, # The top padding of the cell.
               },
               &quot;textDirection&quot;: &quot;A String&quot;, # The direction of the text in the cell.
-              &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The format of the text in the cell (unless overridden by a format run).
+              &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The format of the text in the cell (unless overridden by a format run). Setting a cell-level link will clear the cell&#x27;s existing links. Setting a link in a format run will clear the cell-level link.
                 &quot;bold&quot;: True or False, # True if the text is bold.
                 &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
                 &quot;fontSize&quot;: 42, # The size of the font.
@@ -21244,7 +21244,7 @@
             { # Data about each cell in a row.
               &quot;values&quot;: [ # The values in the row, one per column.
                 { # Data about a specific cell.
-                  &quot;dataSourceFormula&quot;: { # A data source formula. # Output only. Information about a data source formula on the cell. The field is set if user_entered_value is a formula referencing some DATA_SOURCE sheet, e.g `=SUM(DataSheet!Column)`.
+                  &quot;dataSourceFormula&quot;: { # A data source formula. # Output only. Information about a data source formula on the cell. The field is set if user_entered_value is a formula referencing some DATA_SOURCE sheet, e.g. `=SUM(DataSheet!Column)`.
                     &quot;dataExecutionStatus&quot;: { # The data execution status. A data execution is created to sync a data source object with the latest data from a DataSource. It is usually scheduled to run at background, you can check its state to tell if an execution completes There are several scenarios where a data execution is triggered to run: * Adding a data source creates an associated data source sheet as well as a data execution to sync the data from the data source to the sheet. * Updating a data source creates a data execution to refresh the associated data source sheet similarly. * You can send refresh request to explicitly refresh one or multiple data source objects. # Output only. The data execution status.
                       &quot;errorCode&quot;: &quot;A String&quot;, # The error code.
                       &quot;errorMessage&quot;: &quot;A String&quot;, # The error message, which may be empty.
@@ -21481,7 +21481,7 @@
                       &quot;top&quot;: 42, # The top padding of the cell.
                     },
                     &quot;textDirection&quot;: &quot;A String&quot;, # The direction of the text in the cell.
-                    &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The format of the text in the cell (unless overridden by a format run).
+                    &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The format of the text in the cell (unless overridden by a format run). Setting a cell-level link will clear the cell&#x27;s existing links. Setting a link in a format run will clear the cell-level link.
                       &quot;bold&quot;: True or False, # True if the text is bold.
                       &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
                       &quot;fontSize&quot;: 42, # The size of the font.
@@ -21521,11 +21521,11 @@
                       &quot;type&quot;: &quot;A String&quot;, # The type of error.
                     },
                     &quot;formulaValue&quot;: &quot;A String&quot;, # Represents a formula.
-                    &quot;numberValue&quot;: 3.14, # Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in &quot;serial number&quot; format.
+                    &quot;numberValue&quot;: 3.14, # Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in SERIAL_NUMBER format.
                     &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value. Leading single quotes are not included. For example, if the user typed `&#x27;123` into the UI, this would be represented as a `stringValue` of `&quot;123&quot;`.
                   },
                   &quot;formattedValue&quot;: &quot;A String&quot;, # The formatted value of the cell. This is the value as it&#x27;s shown to the user. This field is read-only.
-                  &quot;hyperlink&quot;: &quot;A String&quot;, # A hyperlink this cell points to, if any. If the cell contains multiple hyperlinks, this field will be empty. This field is read-only. To set it, use a `=HYPERLINK` formula in the userEnteredValue.formulaValue field.
+                  &quot;hyperlink&quot;: &quot;A String&quot;, # A hyperlink this cell points to, if any. If the cell contains multiple hyperlinks, this field will be empty. This field is read-only. To set it, use a `=HYPERLINK` formula in the userEnteredValue.formulaValue field. A cell-level link can also be set from the userEnteredFormat.textFormat field. Alternatively, set a hyperlink in the textFormatRun.format.link field that spans the entire cell.
                   &quot;note&quot;: &quot;A String&quot;, # Any note on the cell.
                   &quot;pivotTable&quot;: { # A pivot table. # A pivot table anchored at this cell. The size of pivot table itself is computed dynamically based on its data, grouping, filters, values, etc. Only the top-left cell of the pivot table contains the pivot table definition. The other cells will contain the calculated values of the results of the pivot in their effective_value fields.
                     &quot;columns&quot;: [ # Each column grouping in the pivot table.
@@ -21556,7 +21556,7 @@
                                     &quot;type&quot;: &quot;A String&quot;, # The type of error.
                                   },
                                   &quot;formulaValue&quot;: &quot;A String&quot;, # Represents a formula.
-                                  &quot;numberValue&quot;: 3.14, # Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in &quot;serial number&quot; format.
+                                  &quot;numberValue&quot;: 3.14, # Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in SERIAL_NUMBER format.
                                   &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value. Leading single quotes are not included. For example, if the user typed `&#x27;123` into the UI, this would be represented as a `stringValue` of `&quot;123&quot;`.
                                 },
                                 &quot;items&quot;: [ # The items in the source data that should be placed into this group. Each item may be a string, number, or boolean. Items may appear in at most one group within a given ManualRule. Items that do not appear in any group will appear on their own.
@@ -21567,7 +21567,7 @@
                                       &quot;type&quot;: &quot;A String&quot;, # The type of error.
                                     },
                                     &quot;formulaValue&quot;: &quot;A String&quot;, # Represents a formula.
-                                    &quot;numberValue&quot;: 3.14, # Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in &quot;serial number&quot; format.
+                                    &quot;numberValue&quot;: 3.14, # Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in SERIAL_NUMBER format.
                                     &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value. Leading single quotes are not included. For example, if the user typed `&#x27;123` into the UI, this would be represented as a `stringValue` of `&quot;123&quot;`.
                                   },
                                 ],
@@ -21589,7 +21589,7 @@
                                 &quot;type&quot;: &quot;A String&quot;, # The type of error.
                               },
                               &quot;formulaValue&quot;: &quot;A String&quot;, # Represents a formula.
-                              &quot;numberValue&quot;: 3.14, # Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in &quot;serial number&quot; format.
+                              &quot;numberValue&quot;: 3.14, # Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in SERIAL_NUMBER format.
                               &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value. Leading single quotes are not included. For example, if the user typed `&#x27;123` into the UI, this would be represented as a `stringValue` of `&quot;123&quot;`.
                             },
                           ],
@@ -21605,7 +21605,7 @@
                                 &quot;type&quot;: &quot;A String&quot;, # The type of error.
                               },
                               &quot;formulaValue&quot;: &quot;A String&quot;, # Represents a formula.
-                              &quot;numberValue&quot;: 3.14, # Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in &quot;serial number&quot; format.
+                              &quot;numberValue&quot;: 3.14, # Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in SERIAL_NUMBER format.
                               &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value. Leading single quotes are not included. For example, if the user typed `&#x27;123` into the UI, this would be represented as a `stringValue` of `&quot;123&quot;`.
                             },
                           },
@@ -21687,7 +21687,7 @@
                                     &quot;type&quot;: &quot;A String&quot;, # The type of error.
                                   },
                                   &quot;formulaValue&quot;: &quot;A String&quot;, # Represents a formula.
-                                  &quot;numberValue&quot;: 3.14, # Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in &quot;serial number&quot; format.
+                                  &quot;numberValue&quot;: 3.14, # Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in SERIAL_NUMBER format.
                                   &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value. Leading single quotes are not included. For example, if the user typed `&#x27;123` into the UI, this would be represented as a `stringValue` of `&quot;123&quot;`.
                                 },
                                 &quot;items&quot;: [ # The items in the source data that should be placed into this group. Each item may be a string, number, or boolean. Items may appear in at most one group within a given ManualRule. Items that do not appear in any group will appear on their own.
@@ -21698,7 +21698,7 @@
                                       &quot;type&quot;: &quot;A String&quot;, # The type of error.
                                     },
                                     &quot;formulaValue&quot;: &quot;A String&quot;, # Represents a formula.
-                                    &quot;numberValue&quot;: 3.14, # Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in &quot;serial number&quot; format.
+                                    &quot;numberValue&quot;: 3.14, # Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in SERIAL_NUMBER format.
                                     &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value. Leading single quotes are not included. For example, if the user typed `&#x27;123` into the UI, this would be represented as a `stringValue` of `&quot;123&quot;`.
                                   },
                                 ],
@@ -21720,7 +21720,7 @@
                                 &quot;type&quot;: &quot;A String&quot;, # The type of error.
                               },
                               &quot;formulaValue&quot;: &quot;A String&quot;, # Represents a formula.
-                              &quot;numberValue&quot;: 3.14, # Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in &quot;serial number&quot; format.
+                              &quot;numberValue&quot;: 3.14, # Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in SERIAL_NUMBER format.
                               &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value. Leading single quotes are not included. For example, if the user typed `&#x27;123` into the UI, this would be represented as a `stringValue` of `&quot;123&quot;`.
                             },
                           ],
@@ -21736,7 +21736,7 @@
                                 &quot;type&quot;: &quot;A String&quot;, # The type of error.
                               },
                               &quot;formulaValue&quot;: &quot;A String&quot;, # Represents a formula.
-                              &quot;numberValue&quot;: 3.14, # Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in &quot;serial number&quot; format.
+                              &quot;numberValue&quot;: 3.14, # Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in SERIAL_NUMBER format.
                               &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value. Leading single quotes are not included. For example, if the user typed `&#x27;123` into the UI, this would be represented as a `stringValue` of `&quot;123&quot;`.
                             },
                           },
@@ -21902,7 +21902,7 @@
                       &quot;top&quot;: 42, # The top padding of the cell.
                     },
                     &quot;textDirection&quot;: &quot;A String&quot;, # The direction of the text in the cell.
-                    &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The format of the text in the cell (unless overridden by a format run).
+                    &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The format of the text in the cell (unless overridden by a format run). Setting a cell-level link will clear the cell&#x27;s existing links. Setting a link in a format run will clear the cell-level link.
                       &quot;bold&quot;: True or False, # True if the text is bold.
                       &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
                       &quot;fontSize&quot;: 42, # The size of the font.
@@ -21942,7 +21942,7 @@
                       &quot;type&quot;: &quot;A String&quot;, # The type of error.
                     },
                     &quot;formulaValue&quot;: &quot;A String&quot;, # Represents a formula.
-                    &quot;numberValue&quot;: 3.14, # Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in &quot;serial number&quot; format.
+                    &quot;numberValue&quot;: 3.14, # Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in SERIAL_NUMBER format.
                     &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value. Leading single quotes are not included. For example, if the user typed `&#x27;123` into the UI, this would be represented as a `stringValue` of `&quot;123&quot;`.
                   },
                 },
@@ -22344,7 +22344,7 @@
               },
             },
             &quot;horizontalAlignment&quot;: &quot;A String&quot;, # The horizontal alignment of title in the slicer. If unspecified, defaults to `LEFT`
-            &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The text format of title in the slicer.
+            &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The text format of title in the slicer. The link field is not supported.
               &quot;bold&quot;: True or False, # True if the text is bold.
               &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
               &quot;fontSize&quot;: 42, # The size of the font.
@@ -22619,7 +22619,7 @@
         &quot;top&quot;: 42, # The top padding of the cell.
       },
       &quot;textDirection&quot;: &quot;A String&quot;, # The direction of the text in the cell.
-      &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The format of the text in the cell (unless overridden by a format run).
+      &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The format of the text in the cell (unless overridden by a format run). Setting a cell-level link will clear the cell&#x27;s existing links. Setting a link in a format run will clear the cell-level link.
         &quot;bold&quot;: True or False, # True if the text is bold.
         &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
         &quot;fontSize&quot;: 42, # The size of the font.
@@ -23016,7 +23016,7 @@
             &quot;basicChart&quot;: { # The specification for a basic chart. See BasicChartType for the list of charts this supports. # A basic chart specification, can be one of many kinds of charts. See BasicChartType for the list of all charts this supports.
               &quot;axis&quot;: [ # The axis on the chart.
                 { # An axis of the chart. A chart may not have more than one axis per axis position.
-                  &quot;format&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The format of the title. Only valid if the axis is not associated with the domain.
+                  &quot;format&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The format of the title. Only valid if the axis is not associated with the domain. The link field is not supported.
                     &quot;bold&quot;: True or False, # True if the text is bold.
                     &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
                     &quot;fontSize&quot;: 42, # The size of the font.
@@ -23138,7 +23138,7 @@
                       },
                     },
                     &quot;placement&quot;: &quot;A String&quot;, # The placement of the data label relative to the labeled data.
-                    &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The text format used for the data label.
+                    &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The text format used for the data label. The link field is not supported.
                       &quot;bold&quot;: True or False, # True if the text is bold.
                       &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
                       &quot;fontSize&quot;: 42, # The size of the font.
@@ -23260,7 +23260,7 @@
                   },
                 },
                 &quot;placement&quot;: &quot;A String&quot;, # The placement of the data label relative to the labeled data.
-                &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The text format used for the data label.
+                &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The text format used for the data label. The link field is not supported.
                   &quot;bold&quot;: True or False, # True if the text is bold.
                   &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
                   &quot;fontSize&quot;: 42, # The size of the font.
@@ -23362,7 +23362,7 @@
                   ],
                 },
               },
-              &quot;bubbleTextStyle&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The format of the text inside the bubbles. Strikethrough and underline are not supported.
+              &quot;bubbleTextStyle&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The format of the text inside the bubbles. Strikethrough, underline, and link are not supported.
                 &quot;bold&quot;: True or False, # True if the text is bold.
                 &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
                 &quot;fontSize&quot;: 42, # The size of the font.
@@ -23977,7 +23977,7 @@
                   },
                   &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
                 },
-                &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # Text formatting options for baseline value.
+                &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # Text formatting options for baseline value. The link field is not supported.
                   &quot;bold&quot;: True or False, # True if the text is bold.
                   &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
                   &quot;fontSize&quot;: 42, # The size of the font.
@@ -24039,7 +24039,7 @@
                 &quot;position&quot;: { # Position settings for text. # Specifies the horizontal text positioning of key value. This field is optional. If not specified, default positioning is used.
                   &quot;horizontalAlignment&quot;: &quot;A String&quot;, # Horizontal alignment setting for the piece of text.
                 },
-                &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # Text formatting options for key value.
+                &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # Text formatting options for key value. The link field is not supported.
                   &quot;bold&quot;: True or False, # True if the text is bold.
                   &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
                   &quot;fontSize&quot;: 42, # The size of the font.
@@ -24109,7 +24109,7 @@
               },
             ],
             &quot;subtitle&quot;: &quot;A String&quot;, # The subtitle of the chart.
-            &quot;subtitleTextFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The subtitle text format. Strikethrough and underline are not supported.
+            &quot;subtitleTextFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The subtitle text format. Strikethrough, underline, and link are not supported.
               &quot;bold&quot;: True or False, # True if the text is bold.
               &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
               &quot;fontSize&quot;: 42, # The size of the font.
@@ -24139,7 +24139,7 @@
               &quot;horizontalAlignment&quot;: &quot;A String&quot;, # Horizontal alignment setting for the piece of text.
             },
             &quot;title&quot;: &quot;A String&quot;, # The title of the chart.
-            &quot;titleTextFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The title text format. Strikethrough and underline are not supported.
+            &quot;titleTextFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The title text format. Strikethrough, underline, and link are not supported.
               &quot;bold&quot;: True or False, # True if the text is bold.
               &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
               &quot;fontSize&quot;: 42, # The size of the font.
@@ -24359,7 +24359,7 @@
                   ],
                 },
               },
-              &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The text format for all labels on the chart.
+              &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The text format for all labels on the chart. The link field is not supported.
                 &quot;bold&quot;: True or False, # True if the text is bold.
                 &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
                 &quot;fontSize&quot;: 42, # The size of the font.
@@ -24488,7 +24488,7 @@
                       },
                     },
                     &quot;placement&quot;: &quot;A String&quot;, # The placement of the data label relative to the labeled data.
-                    &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The text format used for the data label.
+                    &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The text format used for the data label. The link field is not supported.
                       &quot;bold&quot;: True or False, # True if the text is bold.
                       &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
                       &quot;fontSize&quot;: 42, # The size of the font.
@@ -24603,7 +24603,7 @@
                   },
                 },
                 &quot;placement&quot;: &quot;A String&quot;, # The placement of the data label relative to the labeled data.
-                &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The text format used for the data label.
+                &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The text format used for the data label. The link field is not supported.
                   &quot;bold&quot;: True or False, # True if the text is bold.
                   &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
                   &quot;fontSize&quot;: 42, # The size of the font.
@@ -24766,7 +24766,7 @@
                 &quot;top&quot;: 42, # The top padding of the cell.
               },
               &quot;textDirection&quot;: &quot;A String&quot;, # The direction of the text in the cell.
-              &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The format of the text in the cell (unless overridden by a format run).
+              &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The format of the text in the cell (unless overridden by a format run). Setting a cell-level link will clear the cell&#x27;s existing links. Setting a link in a format run will clear the cell-level link.
                 &quot;bold&quot;: True or False, # True if the text is bold.
                 &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
                 &quot;fontSize&quot;: 42, # The size of the font.
@@ -24905,7 +24905,7 @@
             { # Data about each cell in a row.
               &quot;values&quot;: [ # The values in the row, one per column.
                 { # Data about a specific cell.
-                  &quot;dataSourceFormula&quot;: { # A data source formula. # Output only. Information about a data source formula on the cell. The field is set if user_entered_value is a formula referencing some DATA_SOURCE sheet, e.g `=SUM(DataSheet!Column)`.
+                  &quot;dataSourceFormula&quot;: { # A data source formula. # Output only. Information about a data source formula on the cell. The field is set if user_entered_value is a formula referencing some DATA_SOURCE sheet, e.g. `=SUM(DataSheet!Column)`.
                     &quot;dataExecutionStatus&quot;: { # The data execution status. A data execution is created to sync a data source object with the latest data from a DataSource. It is usually scheduled to run at background, you can check its state to tell if an execution completes There are several scenarios where a data execution is triggered to run: * Adding a data source creates an associated data source sheet as well as a data execution to sync the data from the data source to the sheet. * Updating a data source creates a data execution to refresh the associated data source sheet similarly. * You can send refresh request to explicitly refresh one or multiple data source objects. # Output only. The data execution status.
                       &quot;errorCode&quot;: &quot;A String&quot;, # The error code.
                       &quot;errorMessage&quot;: &quot;A String&quot;, # The error message, which may be empty.
@@ -25142,7 +25142,7 @@
                       &quot;top&quot;: 42, # The top padding of the cell.
                     },
                     &quot;textDirection&quot;: &quot;A String&quot;, # The direction of the text in the cell.
-                    &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The format of the text in the cell (unless overridden by a format run).
+                    &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The format of the text in the cell (unless overridden by a format run). Setting a cell-level link will clear the cell&#x27;s existing links. Setting a link in a format run will clear the cell-level link.
                       &quot;bold&quot;: True or False, # True if the text is bold.
                       &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
                       &quot;fontSize&quot;: 42, # The size of the font.
@@ -25182,11 +25182,11 @@
                       &quot;type&quot;: &quot;A String&quot;, # The type of error.
                     },
                     &quot;formulaValue&quot;: &quot;A String&quot;, # Represents a formula.
-                    &quot;numberValue&quot;: 3.14, # Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in &quot;serial number&quot; format.
+                    &quot;numberValue&quot;: 3.14, # Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in SERIAL_NUMBER format.
                     &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value. Leading single quotes are not included. For example, if the user typed `&#x27;123` into the UI, this would be represented as a `stringValue` of `&quot;123&quot;`.
                   },
                   &quot;formattedValue&quot;: &quot;A String&quot;, # The formatted value of the cell. This is the value as it&#x27;s shown to the user. This field is read-only.
-                  &quot;hyperlink&quot;: &quot;A String&quot;, # A hyperlink this cell points to, if any. If the cell contains multiple hyperlinks, this field will be empty. This field is read-only. To set it, use a `=HYPERLINK` formula in the userEnteredValue.formulaValue field.
+                  &quot;hyperlink&quot;: &quot;A String&quot;, # A hyperlink this cell points to, if any. If the cell contains multiple hyperlinks, this field will be empty. This field is read-only. To set it, use a `=HYPERLINK` formula in the userEnteredValue.formulaValue field. A cell-level link can also be set from the userEnteredFormat.textFormat field. Alternatively, set a hyperlink in the textFormatRun.format.link field that spans the entire cell.
                   &quot;note&quot;: &quot;A String&quot;, # Any note on the cell.
                   &quot;pivotTable&quot;: { # A pivot table. # A pivot table anchored at this cell. The size of pivot table itself is computed dynamically based on its data, grouping, filters, values, etc. Only the top-left cell of the pivot table contains the pivot table definition. The other cells will contain the calculated values of the results of the pivot in their effective_value fields.
                     &quot;columns&quot;: [ # Each column grouping in the pivot table.
@@ -25217,7 +25217,7 @@
                                     &quot;type&quot;: &quot;A String&quot;, # The type of error.
                                   },
                                   &quot;formulaValue&quot;: &quot;A String&quot;, # Represents a formula.
-                                  &quot;numberValue&quot;: 3.14, # Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in &quot;serial number&quot; format.
+                                  &quot;numberValue&quot;: 3.14, # Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in SERIAL_NUMBER format.
                                   &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value. Leading single quotes are not included. For example, if the user typed `&#x27;123` into the UI, this would be represented as a `stringValue` of `&quot;123&quot;`.
                                 },
                                 &quot;items&quot;: [ # The items in the source data that should be placed into this group. Each item may be a string, number, or boolean. Items may appear in at most one group within a given ManualRule. Items that do not appear in any group will appear on their own.
@@ -25228,7 +25228,7 @@
                                       &quot;type&quot;: &quot;A String&quot;, # The type of error.
                                     },
                                     &quot;formulaValue&quot;: &quot;A String&quot;, # Represents a formula.
-                                    &quot;numberValue&quot;: 3.14, # Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in &quot;serial number&quot; format.
+                                    &quot;numberValue&quot;: 3.14, # Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in SERIAL_NUMBER format.
                                     &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value. Leading single quotes are not included. For example, if the user typed `&#x27;123` into the UI, this would be represented as a `stringValue` of `&quot;123&quot;`.
                                   },
                                 ],
@@ -25250,7 +25250,7 @@
                                 &quot;type&quot;: &quot;A String&quot;, # The type of error.
                               },
                               &quot;formulaValue&quot;: &quot;A String&quot;, # Represents a formula.
-                              &quot;numberValue&quot;: 3.14, # Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in &quot;serial number&quot; format.
+                              &quot;numberValue&quot;: 3.14, # Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in SERIAL_NUMBER format.
                               &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value. Leading single quotes are not included. For example, if the user typed `&#x27;123` into the UI, this would be represented as a `stringValue` of `&quot;123&quot;`.
                             },
                           ],
@@ -25266,7 +25266,7 @@
                                 &quot;type&quot;: &quot;A String&quot;, # The type of error.
                               },
                               &quot;formulaValue&quot;: &quot;A String&quot;, # Represents a formula.
-                              &quot;numberValue&quot;: 3.14, # Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in &quot;serial number&quot; format.
+                              &quot;numberValue&quot;: 3.14, # Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in SERIAL_NUMBER format.
                               &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value. Leading single quotes are not included. For example, if the user typed `&#x27;123` into the UI, this would be represented as a `stringValue` of `&quot;123&quot;`.
                             },
                           },
@@ -25348,7 +25348,7 @@
                                     &quot;type&quot;: &quot;A String&quot;, # The type of error.
                                   },
                                   &quot;formulaValue&quot;: &quot;A String&quot;, # Represents a formula.
-                                  &quot;numberValue&quot;: 3.14, # Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in &quot;serial number&quot; format.
+                                  &quot;numberValue&quot;: 3.14, # Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in SERIAL_NUMBER format.
                                   &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value. Leading single quotes are not included. For example, if the user typed `&#x27;123` into the UI, this would be represented as a `stringValue` of `&quot;123&quot;`.
                                 },
                                 &quot;items&quot;: [ # The items in the source data that should be placed into this group. Each item may be a string, number, or boolean. Items may appear in at most one group within a given ManualRule. Items that do not appear in any group will appear on their own.
@@ -25359,7 +25359,7 @@
                                       &quot;type&quot;: &quot;A String&quot;, # The type of error.
                                     },
                                     &quot;formulaValue&quot;: &quot;A String&quot;, # Represents a formula.
-                                    &quot;numberValue&quot;: 3.14, # Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in &quot;serial number&quot; format.
+                                    &quot;numberValue&quot;: 3.14, # Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in SERIAL_NUMBER format.
                                     &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value. Leading single quotes are not included. For example, if the user typed `&#x27;123` into the UI, this would be represented as a `stringValue` of `&quot;123&quot;`.
                                   },
                                 ],
@@ -25381,7 +25381,7 @@
                                 &quot;type&quot;: &quot;A String&quot;, # The type of error.
                               },
                               &quot;formulaValue&quot;: &quot;A String&quot;, # Represents a formula.
-                              &quot;numberValue&quot;: 3.14, # Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in &quot;serial number&quot; format.
+                              &quot;numberValue&quot;: 3.14, # Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in SERIAL_NUMBER format.
                               &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value. Leading single quotes are not included. For example, if the user typed `&#x27;123` into the UI, this would be represented as a `stringValue` of `&quot;123&quot;`.
                             },
                           ],
@@ -25397,7 +25397,7 @@
                                 &quot;type&quot;: &quot;A String&quot;, # The type of error.
                               },
                               &quot;formulaValue&quot;: &quot;A String&quot;, # Represents a formula.
-                              &quot;numberValue&quot;: 3.14, # Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in &quot;serial number&quot; format.
+                              &quot;numberValue&quot;: 3.14, # Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in SERIAL_NUMBER format.
                               &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value. Leading single quotes are not included. For example, if the user typed `&#x27;123` into the UI, this would be represented as a `stringValue` of `&quot;123&quot;`.
                             },
                           },
@@ -25563,7 +25563,7 @@
                       &quot;top&quot;: 42, # The top padding of the cell.
                     },
                     &quot;textDirection&quot;: &quot;A String&quot;, # The direction of the text in the cell.
-                    &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The format of the text in the cell (unless overridden by a format run).
+                    &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The format of the text in the cell (unless overridden by a format run). Setting a cell-level link will clear the cell&#x27;s existing links. Setting a link in a format run will clear the cell-level link.
                       &quot;bold&quot;: True or False, # True if the text is bold.
                       &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
                       &quot;fontSize&quot;: 42, # The size of the font.
@@ -25603,7 +25603,7 @@
                       &quot;type&quot;: &quot;A String&quot;, # The type of error.
                     },
                     &quot;formulaValue&quot;: &quot;A String&quot;, # Represents a formula.
-                    &quot;numberValue&quot;: 3.14, # Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in &quot;serial number&quot; format.
+                    &quot;numberValue&quot;: 3.14, # Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in SERIAL_NUMBER format.
                     &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value. Leading single quotes are not included. For example, if the user typed `&#x27;123` into the UI, this would be represented as a `stringValue` of `&quot;123&quot;`.
                   },
                 },
@@ -26005,7 +26005,7 @@
               },
             },
             &quot;horizontalAlignment&quot;: &quot;A String&quot;, # The horizontal alignment of title in the slicer. If unspecified, defaults to `LEFT`
-            &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The text format of title in the slicer.
+            &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The text format of title in the slicer. The link field is not supported.
               &quot;bold&quot;: True or False, # True if the text is bold.
               &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
               &quot;fontSize&quot;: 42, # The size of the font.
@@ -26316,7 +26316,7 @@
         &quot;top&quot;: 42, # The top padding of the cell.
       },
       &quot;textDirection&quot;: &quot;A String&quot;, # The direction of the text in the cell.
-      &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The format of the text in the cell (unless overridden by a format run).
+      &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The format of the text in the cell (unless overridden by a format run). Setting a cell-level link will clear the cell&#x27;s existing links. Setting a link in a format run will clear the cell-level link.
         &quot;bold&quot;: True or False, # True if the text is bold.
         &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
         &quot;fontSize&quot;: 42, # The size of the font.
@@ -26713,7 +26713,7 @@
             &quot;basicChart&quot;: { # The specification for a basic chart. See BasicChartType for the list of charts this supports. # A basic chart specification, can be one of many kinds of charts. See BasicChartType for the list of all charts this supports.
               &quot;axis&quot;: [ # The axis on the chart.
                 { # An axis of the chart. A chart may not have more than one axis per axis position.
-                  &quot;format&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The format of the title. Only valid if the axis is not associated with the domain.
+                  &quot;format&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The format of the title. Only valid if the axis is not associated with the domain. The link field is not supported.
                     &quot;bold&quot;: True or False, # True if the text is bold.
                     &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
                     &quot;fontSize&quot;: 42, # The size of the font.
@@ -26835,7 +26835,7 @@
                       },
                     },
                     &quot;placement&quot;: &quot;A String&quot;, # The placement of the data label relative to the labeled data.
-                    &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The text format used for the data label.
+                    &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The text format used for the data label. The link field is not supported.
                       &quot;bold&quot;: True or False, # True if the text is bold.
                       &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
                       &quot;fontSize&quot;: 42, # The size of the font.
@@ -26957,7 +26957,7 @@
                   },
                 },
                 &quot;placement&quot;: &quot;A String&quot;, # The placement of the data label relative to the labeled data.
-                &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The text format used for the data label.
+                &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The text format used for the data label. The link field is not supported.
                   &quot;bold&quot;: True or False, # True if the text is bold.
                   &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
                   &quot;fontSize&quot;: 42, # The size of the font.
@@ -27059,7 +27059,7 @@
                   ],
                 },
               },
-              &quot;bubbleTextStyle&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The format of the text inside the bubbles. Strikethrough and underline are not supported.
+              &quot;bubbleTextStyle&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The format of the text inside the bubbles. Strikethrough, underline, and link are not supported.
                 &quot;bold&quot;: True or False, # True if the text is bold.
                 &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
                 &quot;fontSize&quot;: 42, # The size of the font.
@@ -27674,7 +27674,7 @@
                   },
                   &quot;themeColor&quot;: &quot;A String&quot;, # Theme color.
                 },
-                &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # Text formatting options for baseline value.
+                &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # Text formatting options for baseline value. The link field is not supported.
                   &quot;bold&quot;: True or False, # True if the text is bold.
                   &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
                   &quot;fontSize&quot;: 42, # The size of the font.
@@ -27736,7 +27736,7 @@
                 &quot;position&quot;: { # Position settings for text. # Specifies the horizontal text positioning of key value. This field is optional. If not specified, default positioning is used.
                   &quot;horizontalAlignment&quot;: &quot;A String&quot;, # Horizontal alignment setting for the piece of text.
                 },
-                &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # Text formatting options for key value.
+                &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # Text formatting options for key value. The link field is not supported.
                   &quot;bold&quot;: True or False, # True if the text is bold.
                   &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
                   &quot;fontSize&quot;: 42, # The size of the font.
@@ -27806,7 +27806,7 @@
               },
             ],
             &quot;subtitle&quot;: &quot;A String&quot;, # The subtitle of the chart.
-            &quot;subtitleTextFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The subtitle text format. Strikethrough and underline are not supported.
+            &quot;subtitleTextFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The subtitle text format. Strikethrough, underline, and link are not supported.
               &quot;bold&quot;: True or False, # True if the text is bold.
               &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
               &quot;fontSize&quot;: 42, # The size of the font.
@@ -27836,7 +27836,7 @@
               &quot;horizontalAlignment&quot;: &quot;A String&quot;, # Horizontal alignment setting for the piece of text.
             },
             &quot;title&quot;: &quot;A String&quot;, # The title of the chart.
-            &quot;titleTextFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The title text format. Strikethrough and underline are not supported.
+            &quot;titleTextFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The title text format. Strikethrough, underline, and link are not supported.
               &quot;bold&quot;: True or False, # True if the text is bold.
               &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
               &quot;fontSize&quot;: 42, # The size of the font.
@@ -28056,7 +28056,7 @@
                   ],
                 },
               },
-              &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The text format for all labels on the chart.
+              &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The text format for all labels on the chart. The link field is not supported.
                 &quot;bold&quot;: True or False, # True if the text is bold.
                 &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
                 &quot;fontSize&quot;: 42, # The size of the font.
@@ -28185,7 +28185,7 @@
                       },
                     },
                     &quot;placement&quot;: &quot;A String&quot;, # The placement of the data label relative to the labeled data.
-                    &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The text format used for the data label.
+                    &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The text format used for the data label. The link field is not supported.
                       &quot;bold&quot;: True or False, # True if the text is bold.
                       &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
                       &quot;fontSize&quot;: 42, # The size of the font.
@@ -28300,7 +28300,7 @@
                   },
                 },
                 &quot;placement&quot;: &quot;A String&quot;, # The placement of the data label relative to the labeled data.
-                &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The text format used for the data label.
+                &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The text format used for the data label. The link field is not supported.
                   &quot;bold&quot;: True or False, # True if the text is bold.
                   &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
                   &quot;fontSize&quot;: 42, # The size of the font.
@@ -28463,7 +28463,7 @@
                 &quot;top&quot;: 42, # The top padding of the cell.
               },
               &quot;textDirection&quot;: &quot;A String&quot;, # The direction of the text in the cell.
-              &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The format of the text in the cell (unless overridden by a format run).
+              &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The format of the text in the cell (unless overridden by a format run). Setting a cell-level link will clear the cell&#x27;s existing links. Setting a link in a format run will clear the cell-level link.
                 &quot;bold&quot;: True or False, # True if the text is bold.
                 &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
                 &quot;fontSize&quot;: 42, # The size of the font.
@@ -28602,7 +28602,7 @@
             { # Data about each cell in a row.
               &quot;values&quot;: [ # The values in the row, one per column.
                 { # Data about a specific cell.
-                  &quot;dataSourceFormula&quot;: { # A data source formula. # Output only. Information about a data source formula on the cell. The field is set if user_entered_value is a formula referencing some DATA_SOURCE sheet, e.g `=SUM(DataSheet!Column)`.
+                  &quot;dataSourceFormula&quot;: { # A data source formula. # Output only. Information about a data source formula on the cell. The field is set if user_entered_value is a formula referencing some DATA_SOURCE sheet, e.g. `=SUM(DataSheet!Column)`.
                     &quot;dataExecutionStatus&quot;: { # The data execution status. A data execution is created to sync a data source object with the latest data from a DataSource. It is usually scheduled to run at background, you can check its state to tell if an execution completes There are several scenarios where a data execution is triggered to run: * Adding a data source creates an associated data source sheet as well as a data execution to sync the data from the data source to the sheet. * Updating a data source creates a data execution to refresh the associated data source sheet similarly. * You can send refresh request to explicitly refresh one or multiple data source objects. # Output only. The data execution status.
                       &quot;errorCode&quot;: &quot;A String&quot;, # The error code.
                       &quot;errorMessage&quot;: &quot;A String&quot;, # The error message, which may be empty.
@@ -28839,7 +28839,7 @@
                       &quot;top&quot;: 42, # The top padding of the cell.
                     },
                     &quot;textDirection&quot;: &quot;A String&quot;, # The direction of the text in the cell.
-                    &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The format of the text in the cell (unless overridden by a format run).
+                    &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The format of the text in the cell (unless overridden by a format run). Setting a cell-level link will clear the cell&#x27;s existing links. Setting a link in a format run will clear the cell-level link.
                       &quot;bold&quot;: True or False, # True if the text is bold.
                       &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
                       &quot;fontSize&quot;: 42, # The size of the font.
@@ -28879,11 +28879,11 @@
                       &quot;type&quot;: &quot;A String&quot;, # The type of error.
                     },
                     &quot;formulaValue&quot;: &quot;A String&quot;, # Represents a formula.
-                    &quot;numberValue&quot;: 3.14, # Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in &quot;serial number&quot; format.
+                    &quot;numberValue&quot;: 3.14, # Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in SERIAL_NUMBER format.
                     &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value. Leading single quotes are not included. For example, if the user typed `&#x27;123` into the UI, this would be represented as a `stringValue` of `&quot;123&quot;`.
                   },
                   &quot;formattedValue&quot;: &quot;A String&quot;, # The formatted value of the cell. This is the value as it&#x27;s shown to the user. This field is read-only.
-                  &quot;hyperlink&quot;: &quot;A String&quot;, # A hyperlink this cell points to, if any. If the cell contains multiple hyperlinks, this field will be empty. This field is read-only. To set it, use a `=HYPERLINK` formula in the userEnteredValue.formulaValue field.
+                  &quot;hyperlink&quot;: &quot;A String&quot;, # A hyperlink this cell points to, if any. If the cell contains multiple hyperlinks, this field will be empty. This field is read-only. To set it, use a `=HYPERLINK` formula in the userEnteredValue.formulaValue field. A cell-level link can also be set from the userEnteredFormat.textFormat field. Alternatively, set a hyperlink in the textFormatRun.format.link field that spans the entire cell.
                   &quot;note&quot;: &quot;A String&quot;, # Any note on the cell.
                   &quot;pivotTable&quot;: { # A pivot table. # A pivot table anchored at this cell. The size of pivot table itself is computed dynamically based on its data, grouping, filters, values, etc. Only the top-left cell of the pivot table contains the pivot table definition. The other cells will contain the calculated values of the results of the pivot in their effective_value fields.
                     &quot;columns&quot;: [ # Each column grouping in the pivot table.
@@ -28914,7 +28914,7 @@
                                     &quot;type&quot;: &quot;A String&quot;, # The type of error.
                                   },
                                   &quot;formulaValue&quot;: &quot;A String&quot;, # Represents a formula.
-                                  &quot;numberValue&quot;: 3.14, # Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in &quot;serial number&quot; format.
+                                  &quot;numberValue&quot;: 3.14, # Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in SERIAL_NUMBER format.
                                   &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value. Leading single quotes are not included. For example, if the user typed `&#x27;123` into the UI, this would be represented as a `stringValue` of `&quot;123&quot;`.
                                 },
                                 &quot;items&quot;: [ # The items in the source data that should be placed into this group. Each item may be a string, number, or boolean. Items may appear in at most one group within a given ManualRule. Items that do not appear in any group will appear on their own.
@@ -28925,7 +28925,7 @@
                                       &quot;type&quot;: &quot;A String&quot;, # The type of error.
                                     },
                                     &quot;formulaValue&quot;: &quot;A String&quot;, # Represents a formula.
-                                    &quot;numberValue&quot;: 3.14, # Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in &quot;serial number&quot; format.
+                                    &quot;numberValue&quot;: 3.14, # Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in SERIAL_NUMBER format.
                                     &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value. Leading single quotes are not included. For example, if the user typed `&#x27;123` into the UI, this would be represented as a `stringValue` of `&quot;123&quot;`.
                                   },
                                 ],
@@ -28947,7 +28947,7 @@
                                 &quot;type&quot;: &quot;A String&quot;, # The type of error.
                               },
                               &quot;formulaValue&quot;: &quot;A String&quot;, # Represents a formula.
-                              &quot;numberValue&quot;: 3.14, # Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in &quot;serial number&quot; format.
+                              &quot;numberValue&quot;: 3.14, # Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in SERIAL_NUMBER format.
                               &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value. Leading single quotes are not included. For example, if the user typed `&#x27;123` into the UI, this would be represented as a `stringValue` of `&quot;123&quot;`.
                             },
                           ],
@@ -28963,7 +28963,7 @@
                                 &quot;type&quot;: &quot;A String&quot;, # The type of error.
                               },
                               &quot;formulaValue&quot;: &quot;A String&quot;, # Represents a formula.
-                              &quot;numberValue&quot;: 3.14, # Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in &quot;serial number&quot; format.
+                              &quot;numberValue&quot;: 3.14, # Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in SERIAL_NUMBER format.
                               &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value. Leading single quotes are not included. For example, if the user typed `&#x27;123` into the UI, this would be represented as a `stringValue` of `&quot;123&quot;`.
                             },
                           },
@@ -29045,7 +29045,7 @@
                                     &quot;type&quot;: &quot;A String&quot;, # The type of error.
                                   },
                                   &quot;formulaValue&quot;: &quot;A String&quot;, # Represents a formula.
-                                  &quot;numberValue&quot;: 3.14, # Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in &quot;serial number&quot; format.
+                                  &quot;numberValue&quot;: 3.14, # Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in SERIAL_NUMBER format.
                                   &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value. Leading single quotes are not included. For example, if the user typed `&#x27;123` into the UI, this would be represented as a `stringValue` of `&quot;123&quot;`.
                                 },
                                 &quot;items&quot;: [ # The items in the source data that should be placed into this group. Each item may be a string, number, or boolean. Items may appear in at most one group within a given ManualRule. Items that do not appear in any group will appear on their own.
@@ -29056,7 +29056,7 @@
                                       &quot;type&quot;: &quot;A String&quot;, # The type of error.
                                     },
                                     &quot;formulaValue&quot;: &quot;A String&quot;, # Represents a formula.
-                                    &quot;numberValue&quot;: 3.14, # Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in &quot;serial number&quot; format.
+                                    &quot;numberValue&quot;: 3.14, # Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in SERIAL_NUMBER format.
                                     &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value. Leading single quotes are not included. For example, if the user typed `&#x27;123` into the UI, this would be represented as a `stringValue` of `&quot;123&quot;`.
                                   },
                                 ],
@@ -29078,7 +29078,7 @@
                                 &quot;type&quot;: &quot;A String&quot;, # The type of error.
                               },
                               &quot;formulaValue&quot;: &quot;A String&quot;, # Represents a formula.
-                              &quot;numberValue&quot;: 3.14, # Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in &quot;serial number&quot; format.
+                              &quot;numberValue&quot;: 3.14, # Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in SERIAL_NUMBER format.
                               &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value. Leading single quotes are not included. For example, if the user typed `&#x27;123` into the UI, this would be represented as a `stringValue` of `&quot;123&quot;`.
                             },
                           ],
@@ -29094,7 +29094,7 @@
                                 &quot;type&quot;: &quot;A String&quot;, # The type of error.
                               },
                               &quot;formulaValue&quot;: &quot;A String&quot;, # Represents a formula.
-                              &quot;numberValue&quot;: 3.14, # Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in &quot;serial number&quot; format.
+                              &quot;numberValue&quot;: 3.14, # Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in SERIAL_NUMBER format.
                               &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value. Leading single quotes are not included. For example, if the user typed `&#x27;123` into the UI, this would be represented as a `stringValue` of `&quot;123&quot;`.
                             },
                           },
@@ -29260,7 +29260,7 @@
                       &quot;top&quot;: 42, # The top padding of the cell.
                     },
                     &quot;textDirection&quot;: &quot;A String&quot;, # The direction of the text in the cell.
-                    &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The format of the text in the cell (unless overridden by a format run).
+                    &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The format of the text in the cell (unless overridden by a format run). Setting a cell-level link will clear the cell&#x27;s existing links. Setting a link in a format run will clear the cell-level link.
                       &quot;bold&quot;: True or False, # True if the text is bold.
                       &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
                       &quot;fontSize&quot;: 42, # The size of the font.
@@ -29300,7 +29300,7 @@
                       &quot;type&quot;: &quot;A String&quot;, # The type of error.
                     },
                     &quot;formulaValue&quot;: &quot;A String&quot;, # Represents a formula.
-                    &quot;numberValue&quot;: 3.14, # Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in &quot;serial number&quot; format.
+                    &quot;numberValue&quot;: 3.14, # Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in SERIAL_NUMBER format.
                     &quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value. Leading single quotes are not included. For example, if the user typed `&#x27;123` into the UI, this would be represented as a `stringValue` of `&quot;123&quot;`.
                   },
                 },
@@ -29702,7 +29702,7 @@
               },
             },
             &quot;horizontalAlignment&quot;: &quot;A String&quot;, # The horizontal alignment of title in the slicer. If unspecified, defaults to `LEFT`
-            &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The text format of title in the slicer.
+            &quot;textFormat&quot;: { # The format of a run of text in a cell. Absent values indicate that the field isn&#x27;t specified. # The text format of title in the slicer. The link field is not supported.
               &quot;bold&quot;: True or False, # True if the text is bold.
               &quot;fontFamily&quot;: &quot;A String&quot;, # The font family.
               &quot;fontSize&quot;: 42, # The size of the font.
diff --git a/docs/dyn/sheets_v4.spreadsheets.values.html b/docs/dyn/sheets_v4.spreadsheets.values.html
index ad3ac74..a4deda9 100644
--- a/docs/dyn/sheets_v4.spreadsheets.values.html
+++ b/docs/dyn/sheets_v4.spreadsheets.values.html
@@ -133,11 +133,11 @@
     Allowed values
       OVERWRITE - The new data overwrites existing data in the areas it is written. (Note: adding data to the end of the sheet will still insert new rows or columns so the data can be written.)
       INSERT_ROWS - Rows are inserted for the new data.
-  responseDateTimeRenderOption: string, Determines how dates, times, and durations in the response should be rendered. This is ignored if response_value_render_option is FORMATTED_VALUE. The default dateTime render option is [DateTimeRenderOption.SERIAL_NUMBER].
+  responseDateTimeRenderOption: string, Determines how dates, times, and durations in the response should be rendered. This is ignored if response_value_render_option is FORMATTED_VALUE. The default dateTime render option is SERIAL_NUMBER.
     Allowed values
       SERIAL_NUMBER - Instructs date, time, datetime, and duration fields to be output as doubles in &quot;serial number&quot; format, as popularized by Lotus 1-2-3. The whole number portion of the value (left of the decimal) counts the days since December 30th 1899. The fractional portion (right of the decimal) counts the time as a fraction of the day. For example, January 1st 1900 at noon would be 2.5, 2 because it&#x27;s 2 days after December 30st 1899, and .5 because noon is half a day. February 1st 1900 at 3pm would be 33.625. This correctly treats the year 1900 as not a leap year.
       FORMATTED_STRING - Instructs date, time, datetime, and duration fields to be output as strings in their given number format (which is dependent on the spreadsheet locale).
-  responseValueRenderOption: string, Determines how values in the response should be rendered. The default render option is ValueRenderOption.FORMATTED_VALUE.
+  responseValueRenderOption: string, Determines how values in the response should be rendered. The default render option is FORMATTED_VALUE.
     Allowed values
       FORMATTED_VALUE - Values will be calculated &amp; formatted in the reply according to the cell&#x27;s formatting. Formatting is based on the spreadsheet&#x27;s locale, not the requesting user&#x27;s locale. For example, if `A1` is `1.23` and `A2` is `=A1` and formatted as currency, then `A2` would return `&quot;$1.23&quot;`.
       UNFORMATTED_VALUE - Values will be calculated, but not formatted in the reply. For example, if `A1` is `1.23` and `A2` is `=A1` and formatted as currency, then `A2` would return the number `1.23`.
@@ -273,7 +273,7 @@
 
 Args:
   spreadsheetId: string, The ID of the spreadsheet to retrieve data from. (required)
-  dateTimeRenderOption: string, How dates, times, and durations should be represented in the output. This is ignored if value_render_option is FORMATTED_VALUE. The default dateTime render option is [DateTimeRenderOption.SERIAL_NUMBER].
+  dateTimeRenderOption: string, How dates, times, and durations should be represented in the output. This is ignored if value_render_option is FORMATTED_VALUE. The default dateTime render option is SERIAL_NUMBER.
     Allowed values
       SERIAL_NUMBER - Instructs date, time, datetime, and duration fields to be output as doubles in &quot;serial number&quot; format, as popularized by Lotus 1-2-3. The whole number portion of the value (left of the decimal) counts the days since December 30th 1899. The fractional portion (right of the decimal) counts the time as a fraction of the day. For example, January 1st 1900 at noon would be 2.5, 2 because it&#x27;s 2 days after December 30st 1899, and .5 because noon is half a day. February 1st 1900 at 3pm would be 33.625. This correctly treats the year 1900 as not a leap year.
       FORMATTED_STRING - Instructs date, time, datetime, and duration fields to be output as strings in their given number format (which is dependent on the spreadsheet locale).
@@ -353,9 +353,9 @@
       },
     },
   ],
-  &quot;dateTimeRenderOption&quot;: &quot;A String&quot;, # How dates, times, and durations should be represented in the output. This is ignored if value_render_option is FORMATTED_VALUE. The default dateTime render option is [DateTimeRenderOption.SERIAL_NUMBER].
+  &quot;dateTimeRenderOption&quot;: &quot;A String&quot;, # How dates, times, and durations should be represented in the output. This is ignored if value_render_option is FORMATTED_VALUE. The default dateTime render option is SERIAL_NUMBER.
   &quot;majorDimension&quot;: &quot;A String&quot;, # The major dimension that results should use. For example, if the spreadsheet data is: `A1=1,B1=2,A2=3,B2=4`, then a request that selects that range and sets `majorDimension=ROWS` returns `[[1,2],[3,4]]`, whereas a request that sets `majorDimension=COLUMNS` returns `[[1,3],[2,4]]`.
-  &quot;valueRenderOption&quot;: &quot;A String&quot;, # How values should be represented in the output. The default render option is ValueRenderOption.FORMATTED_VALUE.
+  &quot;valueRenderOption&quot;: &quot;A String&quot;, # How values should be represented in the output. The default render option is FORMATTED_VALUE.
 }
 
   x__xgafv: string, V1 error format.
@@ -437,8 +437,8 @@
     },
   ],
   &quot;includeValuesInResponse&quot;: True or False, # Determines if the update response should include the values of the cells that were updated. By default, responses do not include the updated values. The `updatedData` field within each of the BatchUpdateValuesResponse.responses contains the updated values. If the range to write was larger than the range actually written, the response includes all values in the requested range (excluding trailing empty rows and columns).
-  &quot;responseDateTimeRenderOption&quot;: &quot;A String&quot;, # Determines how dates, times, and durations in the response should be rendered. This is ignored if response_value_render_option is FORMATTED_VALUE. The default dateTime render option is DateTimeRenderOption.SERIAL_NUMBER.
-  &quot;responseValueRenderOption&quot;: &quot;A String&quot;, # Determines how values in the response should be rendered. The default render option is ValueRenderOption.FORMATTED_VALUE.
+  &quot;responseDateTimeRenderOption&quot;: &quot;A String&quot;, # Determines how dates, times, and durations in the response should be rendered. This is ignored if response_value_render_option is FORMATTED_VALUE. The default dateTime render option is SERIAL_NUMBER.
+  &quot;responseValueRenderOption&quot;: &quot;A String&quot;, # Determines how values in the response should be rendered. The default render option is FORMATTED_VALUE.
   &quot;valueInputOption&quot;: &quot;A String&quot;, # How the input data should be interpreted.
 }
 
@@ -527,8 +527,8 @@
     },
   ],
   &quot;includeValuesInResponse&quot;: True or False, # Determines if the update response should include the values of the cells that were updated. By default, responses do not include the updated values. The `updatedData` field within each of the BatchUpdateValuesResponse.responses contains the updated values. If the range to write was larger than the range actually written, the response includes all values in the requested range (excluding trailing empty rows and columns).
-  &quot;responseDateTimeRenderOption&quot;: &quot;A String&quot;, # Determines how dates, times, and durations in the response should be rendered. This is ignored if response_value_render_option is FORMATTED_VALUE. The default dateTime render option is DateTimeRenderOption.SERIAL_NUMBER.
-  &quot;responseValueRenderOption&quot;: &quot;A String&quot;, # Determines how values in the response should be rendered. The default render option is ValueRenderOption.FORMATTED_VALUE.
+  &quot;responseDateTimeRenderOption&quot;: &quot;A String&quot;, # Determines how dates, times, and durations in the response should be rendered. This is ignored if response_value_render_option is FORMATTED_VALUE. The default dateTime render option is SERIAL_NUMBER.
+  &quot;responseValueRenderOption&quot;: &quot;A String&quot;, # Determines how values in the response should be rendered. The default render option is FORMATTED_VALUE.
   &quot;valueInputOption&quot;: &quot;A String&quot;, # How the input data should be interpreted.
 }
 
@@ -634,7 +634,7 @@
 Args:
   spreadsheetId: string, The ID of the spreadsheet to retrieve data from. (required)
   range: string, The A1 notation or R1C1 notation of the range to retrieve values from. (required)
-  dateTimeRenderOption: string, How dates, times, and durations should be represented in the output. This is ignored if value_render_option is FORMATTED_VALUE. The default dateTime render option is [DateTimeRenderOption.SERIAL_NUMBER].
+  dateTimeRenderOption: string, How dates, times, and durations should be represented in the output. This is ignored if value_render_option is FORMATTED_VALUE. The default dateTime render option is SERIAL_NUMBER.
     Allowed values
       SERIAL_NUMBER - Instructs date, time, datetime, and duration fields to be output as doubles in &quot;serial number&quot; format, as popularized by Lotus 1-2-3. The whole number portion of the value (left of the decimal) counts the days since December 30th 1899. The fractional portion (right of the decimal) counts the time as a fraction of the day. For example, January 1st 1900 at noon would be 2.5, 2 because it&#x27;s 2 days after December 30st 1899, and .5 because noon is half a day. February 1st 1900 at 3pm would be 33.625. This correctly treats the year 1900 as not a leap year.
       FORMATTED_STRING - Instructs date, time, datetime, and duration fields to be output as strings in their given number format (which is dependent on the spreadsheet locale).
@@ -643,7 +643,7 @@
       DIMENSION_UNSPECIFIED - The default value, do not use.
       ROWS - Operates on the rows of a sheet.
       COLUMNS - Operates on the columns of a sheet.
-  valueRenderOption: string, How values should be represented in the output. The default render option is ValueRenderOption.FORMATTED_VALUE.
+  valueRenderOption: string, How values should be represented in the output. The default render option is FORMATTED_VALUE.
     Allowed values
       FORMATTED_VALUE - Values will be calculated &amp; formatted in the reply according to the cell&#x27;s formatting. Formatting is based on the spreadsheet&#x27;s locale, not the requesting user&#x27;s locale. For example, if `A1` is `1.23` and `A2` is `=A1` and formatted as currency, then `A2` would return `&quot;$1.23&quot;`.
       UNFORMATTED_VALUE - Values will be calculated, but not formatted in the reply. For example, if `A1` is `1.23` and `A2` is `=A1` and formatted as currency, then `A2` would return the number `1.23`.
@@ -688,11 +688,11 @@
 }
 
   includeValuesInResponse: boolean, Determines if the update response should include the values of the cells that were updated. By default, responses do not include the updated values. If the range to write was larger than the range actually written, the response includes all values in the requested range (excluding trailing empty rows and columns).
-  responseDateTimeRenderOption: string, Determines how dates, times, and durations in the response should be rendered. This is ignored if response_value_render_option is FORMATTED_VALUE. The default dateTime render option is DateTimeRenderOption.SERIAL_NUMBER.
+  responseDateTimeRenderOption: string, Determines how dates, times, and durations in the response should be rendered. This is ignored if response_value_render_option is FORMATTED_VALUE. The default dateTime render option is SERIAL_NUMBER.
     Allowed values
       SERIAL_NUMBER - Instructs date, time, datetime, and duration fields to be output as doubles in &quot;serial number&quot; format, as popularized by Lotus 1-2-3. The whole number portion of the value (left of the decimal) counts the days since December 30th 1899. The fractional portion (right of the decimal) counts the time as a fraction of the day. For example, January 1st 1900 at noon would be 2.5, 2 because it&#x27;s 2 days after December 30st 1899, and .5 because noon is half a day. February 1st 1900 at 3pm would be 33.625. This correctly treats the year 1900 as not a leap year.
       FORMATTED_STRING - Instructs date, time, datetime, and duration fields to be output as strings in their given number format (which is dependent on the spreadsheet locale).
-  responseValueRenderOption: string, Determines how values in the response should be rendered. The default render option is ValueRenderOption.FORMATTED_VALUE.
+  responseValueRenderOption: string, Determines how values in the response should be rendered. The default render option is FORMATTED_VALUE.
     Allowed values
       FORMATTED_VALUE - Values will be calculated &amp; formatted in the reply according to the cell&#x27;s formatting. Formatting is based on the spreadsheet&#x27;s locale, not the requesting user&#x27;s locale. For example, if `A1` is `1.23` and `A2` is `=A1` and formatted as currency, then `A2` would return `&quot;$1.23&quot;`.
       UNFORMATTED_VALUE - Values will be calculated, but not formatted in the reply. For example, if `A1` is `1.23` and `A2` is `=A1` and formatted as currency, then `A2` would return the number `1.23`.
diff --git a/docs/dyn/sts_v1.v1.html b/docs/dyn/sts_v1.v1.html
index d47335d..46b10c3 100644
--- a/docs/dyn/sts_v1.v1.html
+++ b/docs/dyn/sts_v1.v1.html
@@ -100,7 +100,7 @@
   &quot;options&quot;: &quot;A String&quot;, # A set of features that Security Token Service supports, in addition to the standard OAuth 2.0 token exchange, formatted as a serialized JSON object of Options.
   &quot;requestedTokenType&quot;: &quot;A String&quot;, # Required. An identifier for the type of requested security token. Must be `urn:ietf:params:oauth:token-type:access_token`.
   &quot;scope&quot;: &quot;A String&quot;, # The OAuth 2.0 scopes to include on the resulting access token, formatted as a list of space-delimited, case-sensitive strings. Required when exchanging an external credential for a Google access token.
-  &quot;subjectToken&quot;: &quot;A String&quot;, # Required. The input token. This token is a either an external credential issued by a workload identity pool provider, or a short-lived access token issued by Google. If the token is an OIDC JWT, it must use the JWT format defined in [RFC 7523](https://tools.ietf.org/html/rfc7523), and the `subject_token_type` must be `urn:ietf:params:oauth:token-type:jwt`. The following headers are required: - `kid`: The identifier of the signing key securing the JWT. - `alg`: The cryptographic algorithm securing the JWT. Must be `RS256`. The following payload fields are required. For more information, see [RFC 7523, Section 3](https://tools.ietf.org/html/rfc7523#section-3): - `iss`: The issuer of the token. The issuer must provide a discovery document at the URL `/.well-known/openid-configuration`, where `` is the value of this field. The document must be formatted according to section 4.2 of the [OIDC 1.0 Discovery specification](https://openid.net/specs/openid-connect-discovery-1_0.html#ProviderConfigurationResponse). - `iat`: The issue time, in seconds, since the Unix epoch. Must be in the past. - `exp`: The expiration time, in seconds, since the Unix epoch. Must be less than 48 hours after `iat`. Shorter expiration times are more secure. If possible, we recommend setting an expiration time less than 6 hours. - `sub`: The identity asserted in the JWT. - `aud`: Configured by the mapper policy. The default value is the service account&#x27;s unique ID. Example header: ``` { &quot;alg&quot;: &quot;RS256&quot;, &quot;kid&quot;: &quot;us-east-11&quot; } ``` Example payload: ``` { &quot;iss&quot;: &quot;https://accounts.google.com&quot;, &quot;iat&quot;: 1517963104, &quot;exp&quot;: 1517966704, &quot;aud&quot;: &quot;113475438248934895348&quot;, &quot;sub&quot;: &quot;113475438248934895348&quot;, &quot;my_claims&quot;: { &quot;additional_claim&quot;: &quot;value&quot; } } ``` If `subject_token` is for AWS, it must be a serialized `GetCallerIdentity` token. This token contains the same information as a request to the AWS [`GetCallerIdentity()`](https://docs.aws.amazon.com/STS/latest/APIReference/API_GetCallerIdentity) method, as well as the AWS [signature](https://docs.aws.amazon.com/general/latest/gr/signing_aws_api_requests.html) for the request information. Use Signature Version 4. Format the request as URL-encoded JSON, and set the `subject_token_type` parameter to `urn:ietf:params:aws:token-type:aws4_request`. The following parameters are required: - `url`: The URL of the AWS STS endpoint for `GetCallerIdentity()`, such as `https://sts.amazonaws.com?Action=GetCallerIdentity&amp;Version=2011-06-15`. Regional endpoints are also supported. - `method`: The HTTP request method: `POST`. - `headers`: The HTTP request headers, which must include: - `Authorization`: The request signature. - `x-amz-date`: The time you will send the request, formatted as an [ISO8601 Basic](https://docs.aws.amazon.com/general/latest/gr/sigv4_elements.html#sigv4_elements_date) string. This value is typically set to the current time and is used to help prevent replay attacks. - `host`: The hostname of the `url` field; for example, `sts.amazonaws.com`. - `x-goog-cloud-target-resource`: The full, canonical resource name of the workload identity pool provider, with or without an `https:` prefix. To help ensure data integrity, we recommend including this header in the `SignedHeaders` field of the signed request. For example: //iam.googleapis.com/projects//locations//workloadIdentityPools//providers/ https://iam.googleapis.com/projects//locations//workloadIdentityPools//providers/ If you are using temporary security credentials provided by AWS, you must also include the header `x-amz-security-token`, with the value set to the session token. The following example shows a `GetCallerIdentity` token: ``` { &quot;headers&quot;: [ {&quot;key&quot;: &quot;x-amz-date&quot;, &quot;value&quot;: &quot;20200815T015049Z&quot;}, {&quot;key&quot;: &quot;Authorization&quot;, &quot;value&quot;: &quot;AWS4-HMAC-SHA256+Credential=$credential,+SignedHeaders=host;x-amz-date;x-goog-cloud-target-resource,+Signature=$signature&quot;}, {&quot;key&quot;: &quot;x-goog-cloud-target-resource&quot;, &quot;value&quot;: &quot;//iam.googleapis.com/projects//locations//workloadIdentityPools//providers/&quot;}, {&quot;key&quot;: &quot;host&quot;, &quot;value&quot;: &quot;sts.amazonaws.com&quot;} . ], &quot;method&quot;: &quot;POST&quot;, &quot;url&quot;: &quot;https://sts.amazonaws.com?Action=GetCallerIdentity&amp;Version=2011-06-15&quot; } ``` You can also use a Google-issued OAuth 2.0 access token with this field to obtain an access token with new security attributes applied, such as a Credential Access Boundary. In this case, set `subject_token_type` to `urn:ietf:params:oauth:token-type:access_token`. If an access token already contains security attributes, you cannot apply additional security attributes.
+  &quot;subjectToken&quot;: &quot;A String&quot;, # Required. The input token. This token is a either an external credential issued by a workload identity pool provider, or a short-lived access token issued by Google. If the token is an OIDC JWT, it must use the JWT format defined in [RFC 7523](https://tools.ietf.org/html/rfc7523), and the `subject_token_type` must be `urn:ietf:params:oauth:token-type:jwt`. The following headers are required: - `kid`: The identifier of the signing key securing the JWT. - `alg`: The cryptographic algorithm securing the JWT. Must be `RS256` or `ES256`. The following payload fields are required. For more information, see [RFC 7523, Section 3](https://tools.ietf.org/html/rfc7523#section-3): - `iss`: The issuer of the token. The issuer must provide a discovery document at the URL `/.well-known/openid-configuration`, where `` is the value of this field. The document must be formatted according to section 4.2 of the [OIDC 1.0 Discovery specification](https://openid.net/specs/openid-connect-discovery-1_0.html#ProviderConfigurationResponse). - `iat`: The issue time, in seconds, since the Unix epoch. Must be in the past. - `exp`: The expiration time, in seconds, since the Unix epoch. Must be less than 48 hours after `iat`. Shorter expiration times are more secure. If possible, we recommend setting an expiration time less than 6 hours. - `sub`: The identity asserted in the JWT. - `aud`: For workload identity pools, this must be a value specified in the allowed audiences for the workload identity pool provider, or one of the audiences allowed by default if no audiences were specified. See https://cloud.google.com/iam/docs/reference/rest/v1/projects.locations.workloadIdentityPools.providers#oidc Example header: ``` { &quot;alg&quot;: &quot;RS256&quot;, &quot;kid&quot;: &quot;us-east-11&quot; } ``` Example payload: ``` { &quot;iss&quot;: &quot;https://accounts.google.com&quot;, &quot;iat&quot;: 1517963104, &quot;exp&quot;: 1517966704, &quot;aud&quot;: &quot;//iam.googleapis.com/projects/1234567890123/locations/global/workloadIdentityPools/my-pool/providers/my-provider&quot;, &quot;sub&quot;: &quot;113475438248934895348&quot;, &quot;my_claims&quot;: { &quot;additional_claim&quot;: &quot;value&quot; } } ``` If `subject_token` is for AWS, it must be a serialized `GetCallerIdentity` token. This token contains the same information as a request to the AWS [`GetCallerIdentity()`](https://docs.aws.amazon.com/STS/latest/APIReference/API_GetCallerIdentity) method, as well as the AWS [signature](https://docs.aws.amazon.com/general/latest/gr/signing_aws_api_requests.html) for the request information. Use Signature Version 4. Format the request as URL-encoded JSON, and set the `subject_token_type` parameter to `urn:ietf:params:aws:token-type:aws4_request`. The following parameters are required: - `url`: The URL of the AWS STS endpoint for `GetCallerIdentity()`, such as `https://sts.amazonaws.com?Action=GetCallerIdentity&amp;Version=2011-06-15`. Regional endpoints are also supported. - `method`: The HTTP request method: `POST`. - `headers`: The HTTP request headers, which must include: - `Authorization`: The request signature. - `x-amz-date`: The time you will send the request, formatted as an [ISO8601 Basic](https://docs.aws.amazon.com/general/latest/gr/sigv4_elements.html#sigv4_elements_date) string. This value is typically set to the current time and is used to help prevent replay attacks. - `host`: The hostname of the `url` field; for example, `sts.amazonaws.com`. - `x-goog-cloud-target-resource`: The full, canonical resource name of the workload identity pool provider, with or without an `https:` prefix. To help ensure data integrity, we recommend including this header in the `SignedHeaders` field of the signed request. For example: //iam.googleapis.com/projects//locations//workloadIdentityPools//providers/ https://iam.googleapis.com/projects//locations//workloadIdentityPools//providers/ If you are using temporary security credentials provided by AWS, you must also include the header `x-amz-security-token`, with the value set to the session token. The following example shows a `GetCallerIdentity` token: ``` { &quot;headers&quot;: [ {&quot;key&quot;: &quot;x-amz-date&quot;, &quot;value&quot;: &quot;20200815T015049Z&quot;}, {&quot;key&quot;: &quot;Authorization&quot;, &quot;value&quot;: &quot;AWS4-HMAC-SHA256+Credential=$credential,+SignedHeaders=host;x-amz-date;x-goog-cloud-target-resource,+Signature=$signature&quot;}, {&quot;key&quot;: &quot;x-goog-cloud-target-resource&quot;, &quot;value&quot;: &quot;//iam.googleapis.com/projects//locations//workloadIdentityPools//providers/&quot;}, {&quot;key&quot;: &quot;host&quot;, &quot;value&quot;: &quot;sts.amazonaws.com&quot;} . ], &quot;method&quot;: &quot;POST&quot;, &quot;url&quot;: &quot;https://sts.amazonaws.com?Action=GetCallerIdentity&amp;Version=2011-06-15&quot; } ``` You can also use a Google-issued OAuth 2.0 access token with this field to obtain an access token with new security attributes applied, such as a Credential Access Boundary. In this case, set `subject_token_type` to `urn:ietf:params:oauth:token-type:access_token`. If an access token already contains security attributes, you cannot apply additional security attributes.
   &quot;subjectTokenType&quot;: &quot;A String&quot;, # Required. An identifier that indicates the type of the security token in the `subject_token` parameter. Supported values are `urn:ietf:params:oauth:token-type:jwt`, `urn:ietf:params:aws:token-type:aws4_request`, and `urn:ietf:params:oauth:token-type:access_token`.
 }
 
diff --git a/docs/dyn/sts_v1beta.v1beta.html b/docs/dyn/sts_v1beta.v1beta.html
index 3669164..84f067e 100644
--- a/docs/dyn/sts_v1beta.v1beta.html
+++ b/docs/dyn/sts_v1beta.v1beta.html
@@ -100,7 +100,7 @@
   &quot;options&quot;: &quot;A String&quot;, # A set of features that Security Token Service supports, in addition to the standard OAuth 2.0 token exchange, formatted as a serialized JSON object of Options.
   &quot;requestedTokenType&quot;: &quot;A String&quot;, # Required. The type of security token. Must be `urn:ietf:params:oauth:token-type:access_token`, which indicates an OAuth 2.0 access token.
   &quot;scope&quot;: &quot;A String&quot;, # The OAuth 2.0 scopes to include on the resulting access token, formatted as a list of space-delimited, case-sensitive strings. Required when exchanging an external credential for a Google access token.
-  &quot;subjectToken&quot;: &quot;A String&quot;, # Required. The input token. This token is a either an external credential issued by a workload identity pool provider, or a short-lived access token issued by Google. If the token is an OIDC JWT, it must use the JWT format defined in [RFC 7523](https://tools.ietf.org/html/rfc7523), and the `subject_token_type` must be `urn:ietf:params:oauth:token-type:jwt`. The following headers are required: - `kid`: The identifier of the signing key securing the JWT. - `alg`: The cryptographic algorithm securing the JWT. Must be `RS256`. The following payload fields are required. For more information, see [RFC 7523, Section 3](https://tools.ietf.org/html/rfc7523#section-3): - `iss`: The issuer of the token. The issuer must provide a discovery document at the URL `/.well-known/openid-configuration`, where `` is the value of this field. The document must be formatted according to section 4.2 of the [OIDC 1.0 Discovery specification](https://openid.net/specs/openid-connect-discovery-1_0.html#ProviderConfigurationResponse). - `iat`: The issue time, in seconds, since the Unix epoch. Must be in the past. - `exp`: The expiration time, in seconds, since the Unix epoch. Must be less than 48 hours after `iat`. Shorter expiration times are more secure. If possible, we recommend setting an expiration time less than 6 hours. - `sub`: The identity asserted in the JWT. - `aud`: Configured by the mapper policy. The default value is the service account&#x27;s unique ID. Example header: ``` { &quot;alg&quot;: &quot;RS256&quot;, &quot;kid&quot;: &quot;us-east-11&quot; } ``` Example payload: ``` { &quot;iss&quot;: &quot;https://accounts.google.com&quot;, &quot;iat&quot;: 1517963104, &quot;exp&quot;: 1517966704, &quot;aud&quot;: &quot;113475438248934895348&quot;, &quot;sub&quot;: &quot;113475438248934895348&quot;, &quot;my_claims&quot;: { &quot;additional_claim&quot;: &quot;value&quot; } } ``` If `subject_token` is for AWS, it must be a serialized `GetCallerIdentity` token. This token contains the same information as a request to the AWS [`GetCallerIdentity()`](https://docs.aws.amazon.com/STS/latest/APIReference/API_GetCallerIdentity) method, as well as the AWS [signature](https://docs.aws.amazon.com/general/latest/gr/signing_aws_api_requests.html) for the request information. Use Signature Version 4. Format the request as URL-encoded JSON, and set the `subject_token_type` parameter to `urn:ietf:params:aws:token-type:aws4_request`. The following parameters are required: - `url`: The URL of the AWS STS endpoint for `GetCallerIdentity()`, such as `https://sts.amazonaws.com?Action=GetCallerIdentity&amp;Version=2011-06-15`. Regional endpoints are also supported. - `method`: The HTTP request method: `POST`. - `headers`: The HTTP request headers, which must include: - `Authorization`: The request signature. - `x-amz-date`: The time you will send the request, formatted as an [ISO8601 Basic](https://docs.aws.amazon.com/general/latest/gr/sigv4_elements.html#sigv4_elements_date) string. This value is typically set to the current time and is used to help prevent replay attacks. - `host`: The hostname of the `url` field; for example, `sts.amazonaws.com`. - `x-goog-cloud-target-resource`: The full, canonical resource name of the workload identity pool provider, with or without an `https:` prefix. To help ensure data integrity, we recommend including this header in the `SignedHeaders` field of the signed request. For example: //iam.googleapis.com/projects//locations//workloadIdentityPools//providers/ https://iam.googleapis.com/projects//locations//workloadIdentityPools//providers/ If you are using temporary security credentials provided by AWS, you must also include the header `x-amz-security-token`, with the value set to the session token. The following example shows a `GetCallerIdentity` token: ``` { &quot;headers&quot;: [ {&quot;key&quot;: &quot;x-amz-date&quot;, &quot;value&quot;: &quot;20200815T015049Z&quot;}, {&quot;key&quot;: &quot;Authorization&quot;, &quot;value&quot;: &quot;AWS4-HMAC-SHA256+Credential=$credential,+SignedHeaders=host;x-amz-date;x-goog-cloud-target-resource,+Signature=$signature&quot;}, {&quot;key&quot;: &quot;x-goog-cloud-target-resource&quot;, &quot;value&quot;: &quot;//iam.googleapis.com/projects//locations//workloadIdentityPools//providers/&quot;}, {&quot;key&quot;: &quot;host&quot;, &quot;value&quot;: &quot;sts.amazonaws.com&quot;} . ], &quot;method&quot;: &quot;POST&quot;, &quot;url&quot;: &quot;https://sts.amazonaws.com?Action=GetCallerIdentity&amp;Version=2011-06-15&quot; } ``` You can also use a Google-issued OAuth 2.0 access token with this field to obtain an access token with new security attributes applied, such as a Credential Access Boundary. In this case, set `subject_token_type` to `urn:ietf:params:oauth:token-type:access_token`. If an access token already contains security attributes, you cannot apply additional security attributes.
+  &quot;subjectToken&quot;: &quot;A String&quot;, # Required. The input token. This token is a either an external credential issued by a workload identity pool provider, or a short-lived access token issued by Google. If the token is an OIDC JWT, it must use the JWT format defined in [RFC 7523](https://tools.ietf.org/html/rfc7523), and the `subject_token_type` must be `urn:ietf:params:oauth:token-type:jwt`. The following headers are required: - `kid`: The identifier of the signing key securing the JWT. - `alg`: The cryptographic algorithm securing the JWT. Must be `RS256` or `ES256`. The following payload fields are required. For more information, see [RFC 7523, Section 3](https://tools.ietf.org/html/rfc7523#section-3): - `iss`: The issuer of the token. The issuer must provide a discovery document at the URL `/.well-known/openid-configuration`, where `` is the value of this field. The document must be formatted according to section 4.2 of the [OIDC 1.0 Discovery specification](https://openid.net/specs/openid-connect-discovery-1_0.html#ProviderConfigurationResponse). - `iat`: The issue time, in seconds, since the Unix epoch. Must be in the past. - `exp`: The expiration time, in seconds, since the Unix epoch. Must be less than 48 hours after `iat`. Shorter expiration times are more secure. If possible, we recommend setting an expiration time less than 6 hours. - `sub`: The identity asserted in the JWT. - `aud`: For workload identity pools, this must be a value specified in the allowed audiences for the workload identity pool provider, or one of the audiences allowed by default if no audiences were specified. See https://cloud.google.com/iam/docs/reference/rest/v1/projects.locations.workloadIdentityPools.providers#oidc Example header: ``` { &quot;alg&quot;: &quot;RS256&quot;, &quot;kid&quot;: &quot;us-east-11&quot; } ``` Example payload: ``` { &quot;iss&quot;: &quot;https://accounts.google.com&quot;, &quot;iat&quot;: 1517963104, &quot;exp&quot;: 1517966704, &quot;aud&quot;: &quot;//iam.googleapis.com/projects/1234567890123/locations/global/workloadIdentityPools/my-pool/providers/my-provider&quot;, &quot;sub&quot;: &quot;113475438248934895348&quot;, &quot;my_claims&quot;: { &quot;additional_claim&quot;: &quot;value&quot; } } ``` If `subject_token` is for AWS, it must be a serialized `GetCallerIdentity` token. This token contains the same information as a request to the AWS [`GetCallerIdentity()`](https://docs.aws.amazon.com/STS/latest/APIReference/API_GetCallerIdentity) method, as well as the AWS [signature](https://docs.aws.amazon.com/general/latest/gr/signing_aws_api_requests.html) for the request information. Use Signature Version 4. Format the request as URL-encoded JSON, and set the `subject_token_type` parameter to `urn:ietf:params:aws:token-type:aws4_request`. The following parameters are required: - `url`: The URL of the AWS STS endpoint for `GetCallerIdentity()`, such as `https://sts.amazonaws.com?Action=GetCallerIdentity&amp;Version=2011-06-15`. Regional endpoints are also supported. - `method`: The HTTP request method: `POST`. - `headers`: The HTTP request headers, which must include: - `Authorization`: The request signature. - `x-amz-date`: The time you will send the request, formatted as an [ISO8601 Basic](https://docs.aws.amazon.com/general/latest/gr/sigv4_elements.html#sigv4_elements_date) string. This value is typically set to the current time and is used to help prevent replay attacks. - `host`: The hostname of the `url` field; for example, `sts.amazonaws.com`. - `x-goog-cloud-target-resource`: The full, canonical resource name of the workload identity pool provider, with or without an `https:` prefix. To help ensure data integrity, we recommend including this header in the `SignedHeaders` field of the signed request. For example: //iam.googleapis.com/projects//locations//workloadIdentityPools//providers/ https://iam.googleapis.com/projects//locations//workloadIdentityPools//providers/ If you are using temporary security credentials provided by AWS, you must also include the header `x-amz-security-token`, with the value set to the session token. The following example shows a `GetCallerIdentity` token: ``` { &quot;headers&quot;: [ {&quot;key&quot;: &quot;x-amz-date&quot;, &quot;value&quot;: &quot;20200815T015049Z&quot;}, {&quot;key&quot;: &quot;Authorization&quot;, &quot;value&quot;: &quot;AWS4-HMAC-SHA256+Credential=$credential,+SignedHeaders=host;x-amz-date;x-goog-cloud-target-resource,+Signature=$signature&quot;}, {&quot;key&quot;: &quot;x-goog-cloud-target-resource&quot;, &quot;value&quot;: &quot;//iam.googleapis.com/projects//locations//workloadIdentityPools//providers/&quot;}, {&quot;key&quot;: &quot;host&quot;, &quot;value&quot;: &quot;sts.amazonaws.com&quot;} . ], &quot;method&quot;: &quot;POST&quot;, &quot;url&quot;: &quot;https://sts.amazonaws.com?Action=GetCallerIdentity&amp;Version=2011-06-15&quot; } ``` You can also use a Google-issued OAuth 2.0 access token with this field to obtain an access token with new security attributes applied, such as a Credential Access Boundary. In this case, set `subject_token_type` to `urn:ietf:params:oauth:token-type:access_token`. If an access token already contains security attributes, you cannot apply additional security attributes.
   &quot;subjectTokenType&quot;: &quot;A String&quot;, # Required. An identifier that indicates the type of the security token in the `subject_token` parameter. Supported values are `urn:ietf:params:oauth:token-type:jwt`, `urn:ietf:params:aws:token-type:aws4_request`, and `urn:ietf:params:oauth:token-type:access_token`.
 }
 
diff --git a/docs/dyn/translate_v3beta1.projects.locations.html b/docs/dyn/translate_v3beta1.projects.locations.html
index 6c8736f..921b3a6 100644
--- a/docs/dyn/translate_v3beta1.projects.locations.html
+++ b/docs/dyn/translate_v3beta1.projects.locations.html
@@ -401,7 +401,7 @@
   <pre>Translates documents in synchronous mode.
 
 Args:
-  parent: string, Required. Location to make a regional call. Format: `projects/{project-number-or-id}/locations/{location-id}`. For global calls, use `projects/{project-number-or-id}/locations/global` or `projects/{project-number-or-id}`. Non-global location is required for requests using AutoML models or custom glossaries. Models and glossaries must be within the same region (have the same location-id), otherwise an INVALID_ARGUMENT (400) error is returned. (required)
+  parent: string, Required. Location to make a regional call. Format: `projects/{project-number-or-id}/locations/{location-id}`. For global calls, use `projects/{project-number-or-id}/locations/global`. Non-global location is required for requests using AutoML models or custom glossaries. Models and glossaries must be within the same region (have the same location-id), otherwise an INVALID_ARGUMENT (400) error is returned. (required)
   body: object, The request body.
     The object takes the form of:
 
diff --git a/googleapiclient/discovery_cache/documents/abusiveexperiencereport.v1.json b/googleapiclient/discovery_cache/documents/abusiveexperiencereport.v1.json
index f80bb49..22b8794 100644
--- a/googleapiclient/discovery_cache/documents/abusiveexperiencereport.v1.json
+++ b/googleapiclient/discovery_cache/documents/abusiveexperiencereport.v1.json
@@ -139,7 +139,7 @@
       }
     }
   },
-  "revision": "20210423",
+  "revision": "20210508",
   "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 d6074d1..f4bc9d4 100644
--- a/googleapiclient/discovery_cache/documents/acceleratedmobilepageurl.v1.json
+++ b/googleapiclient/discovery_cache/documents/acceleratedmobilepageurl.v1.json
@@ -115,7 +115,7 @@
       }
     }
   },
-  "revision": "20210505",
+  "revision": "20210512",
   "rootUrl": "https://acceleratedmobilepageurl.googleapis.com/",
   "schemas": {
     "AmpUrl": {
diff --git a/googleapiclient/discovery_cache/documents/accesscontextmanager.v1.json b/googleapiclient/discovery_cache/documents/accesscontextmanager.v1.json
index af921db..8aa5263 100644
--- a/googleapiclient/discovery_cache/documents/accesscontextmanager.v1.json
+++ b/googleapiclient/discovery_cache/documents/accesscontextmanager.v1.json
@@ -943,7 +943,7 @@
       }
     }
   },
-  "revision": "20210428",
+  "revision": "20210508",
   "rootUrl": "https://accesscontextmanager.googleapis.com/",
   "schemas": {
     "AccessLevel": {
diff --git a/googleapiclient/discovery_cache/documents/accesscontextmanager.v1beta.json b/googleapiclient/discovery_cache/documents/accesscontextmanager.v1beta.json
index d6f4ce0..df84136 100644
--- a/googleapiclient/discovery_cache/documents/accesscontextmanager.v1beta.json
+++ b/googleapiclient/discovery_cache/documents/accesscontextmanager.v1beta.json
@@ -609,7 +609,7 @@
       }
     }
   },
-  "revision": "20210428",
+  "revision": "20210508",
   "rootUrl": "https://accesscontextmanager.googleapis.com/",
   "schemas": {
     "AccessLevel": {
diff --git a/googleapiclient/discovery_cache/documents/adexchangebuyer.v12.json b/googleapiclient/discovery_cache/documents/adexchangebuyer.v12.json
index 46155b7..45552be 100644
--- a/googleapiclient/discovery_cache/documents/adexchangebuyer.v12.json
+++ b/googleapiclient/discovery_cache/documents/adexchangebuyer.v12.json
@@ -15,7 +15,7 @@
   "description": "Accesses your bidding-account information, submits creatives for validation, finds available direct deals, and retrieves performance reports.",
   "discoveryVersion": "v1",
   "documentationLink": "https://developers.google.com/ad-exchange/buyer-rest",
-  "etag": "\"uWj2hSb4GVjzdDlAnRd2gbM1ZQ8/AlM6wjjAYunwHQtmIC0iYHI2x9o\"",
+  "etag": "\"uWj2hSb4GVjzdDlAnRd2gbM1ZQ8/g2gABPxFqOqc2GMnjPWRtAF-R_w\"",
   "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": "20210505",
+  "revision": "20210512",
   "rootUrl": "https://www.googleapis.com/",
   "schemas": {
     "Account": {
diff --git a/googleapiclient/discovery_cache/documents/adexchangebuyer.v13.json b/googleapiclient/discovery_cache/documents/adexchangebuyer.v13.json
index 93ef736..69255d0 100644
--- a/googleapiclient/discovery_cache/documents/adexchangebuyer.v13.json
+++ b/googleapiclient/discovery_cache/documents/adexchangebuyer.v13.json
@@ -15,7 +15,7 @@
   "description": "Accesses your bidding-account information, submits creatives for validation, finds available direct deals, and retrieves performance reports.",
   "discoveryVersion": "v1",
   "documentationLink": "https://developers.google.com/ad-exchange/buyer-rest",
-  "etag": "\"uWj2hSb4GVjzdDlAnRd2gbM1ZQ8/y0-4wOhWyO8hxq3xfRq6Gp9kxN4\"",
+  "etag": "\"uWj2hSb4GVjzdDlAnRd2gbM1ZQ8/Y-lnh_JW6ioqu8NKgAyNX4G1Wx0\"",
   "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": "20210505",
+  "revision": "20210512",
   "rootUrl": "https://www.googleapis.com/",
   "schemas": {
     "Account": {
diff --git a/googleapiclient/discovery_cache/documents/adexchangebuyer.v14.json b/googleapiclient/discovery_cache/documents/adexchangebuyer.v14.json
index 32c5f5a..783f61a 100644
--- a/googleapiclient/discovery_cache/documents/adexchangebuyer.v14.json
+++ b/googleapiclient/discovery_cache/documents/adexchangebuyer.v14.json
@@ -15,7 +15,7 @@
   "description": "Accesses your bidding-account information, submits creatives for validation, finds available direct deals, and retrieves performance reports.",
   "discoveryVersion": "v1",
   "documentationLink": "https://developers.google.com/ad-exchange/buyer-rest",
-  "etag": "\"uWj2hSb4GVjzdDlAnRd2gbM1ZQ8/v6tS93bIyLk5RrtCJizcGVRu1xs\"",
+  "etag": "\"uWj2hSb4GVjzdDlAnRd2gbM1ZQ8/IytqkV9fjt-M3LYIYY86RBS6ZZQ\"",
   "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": "20210505",
+  "revision": "20210512",
   "rootUrl": "https://www.googleapis.com/",
   "schemas": {
     "Account": {
@@ -3441,7 +3441,7 @@
           "type": "string"
         },
         "publisherAppIds": {
-          "description": "The list of app IDs represented in this pubisher profile. Empty if this is a parent profile. Deprecated in favor of publisher_app.",
+          "description": "The list of app IDs represented in this publisher profile. Empty if this is a parent profile. Deprecated in favor of publisher_app.",
           "items": {
             "format": "int64",
             "type": "string"
@@ -3449,7 +3449,7 @@
           "type": "array"
         },
         "publisherApps": {
-          "description": "The list of apps represented in this pubisher profile. Empty if this is a parent profile.",
+          "description": "The list of apps represented in this publisher profile. Empty if this is a parent profile.",
           "items": {
             "$ref": "MobileApplication"
           },
diff --git a/googleapiclient/discovery_cache/documents/adexchangebuyer2.v2beta1.json b/googleapiclient/discovery_cache/documents/adexchangebuyer2.v2beta1.json
index ecf7cf3..20f8829 100644
--- a/googleapiclient/discovery_cache/documents/adexchangebuyer2.v2beta1.json
+++ b/googleapiclient/discovery_cache/documents/adexchangebuyer2.v2beta1.json
@@ -2500,7 +2500,7 @@
       }
     }
   },
-  "revision": "20210506",
+  "revision": "20210513",
   "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 2030d4a..cc01142 100644
--- a/googleapiclient/discovery_cache/documents/adexperiencereport.v1.json
+++ b/googleapiclient/discovery_cache/documents/adexperiencereport.v1.json
@@ -138,7 +138,7 @@
       }
     }
   },
-  "revision": "20210423",
+  "revision": "20210510",
   "rootUrl": "https://adexperiencereport.googleapis.com/",
   "schemas": {
     "PlatformSummary": {
diff --git a/googleapiclient/discovery_cache/documents/admin.datatransferv1.json b/googleapiclient/discovery_cache/documents/admin.datatransferv1.json
index f367ea9..c3c4e17 100644
--- a/googleapiclient/discovery_cache/documents/admin.datatransferv1.json
+++ b/googleapiclient/discovery_cache/documents/admin.datatransferv1.json
@@ -272,7 +272,7 @@
       }
     }
   },
-  "revision": "20210427",
+  "revision": "20210511",
   "rootUrl": "https://admin.googleapis.com/",
   "schemas": {
     "Application": {
diff --git a/googleapiclient/discovery_cache/documents/admin.directoryv1.json b/googleapiclient/discovery_cache/documents/admin.directoryv1.json
index 09b3c89..07e1d30 100644
--- a/googleapiclient/discovery_cache/documents/admin.directoryv1.json
+++ b/googleapiclient/discovery_cache/documents/admin.directoryv1.json
@@ -4417,7 +4417,7 @@
       }
     }
   },
-  "revision": "20210427",
+  "revision": "20210511",
   "rootUrl": "https://admin.googleapis.com/",
   "schemas": {
     "Alias": {
diff --git a/googleapiclient/discovery_cache/documents/admin.reportsv1.json b/googleapiclient/discovery_cache/documents/admin.reportsv1.json
index 0077f0d..31ad23d 100644
--- a/googleapiclient/discovery_cache/documents/admin.reportsv1.json
+++ b/googleapiclient/discovery_cache/documents/admin.reportsv1.json
@@ -631,7 +631,7 @@
       }
     }
   },
-  "revision": "20210427",
+  "revision": "20210511",
   "rootUrl": "https://admin.googleapis.com/",
   "schemas": {
     "Activities": {
diff --git a/googleapiclient/discovery_cache/documents/admob.v1.json b/googleapiclient/discovery_cache/documents/admob.v1.json
index 3bc0caf..d5bd5ee 100644
--- a/googleapiclient/discovery_cache/documents/admob.v1.json
+++ b/googleapiclient/discovery_cache/documents/admob.v1.json
@@ -321,7 +321,7 @@
       }
     }
   },
-  "revision": "20210506",
+  "revision": "20210513",
   "rootUrl": "https://admob.googleapis.com/",
   "schemas": {
     "AdUnit": {
@@ -616,7 +616,7 @@
               "A month in the YYYY-MM format (for example, \"2018-12\"). Requests can specify at most one time dimension.",
               "The date of the first day of a week in the YYYY-MM-DD format (for example, \"2018-12-21\"). Requests can specify at most one time dimension.",
               "The [unique ID of the ad source](/admob/api/v1/ad_sources) (for example, \"5450213213286189855\" and \"AdMob Network\" as label value).",
-              "The unique ID of the ad source instance (for example, \"ca-app-pub-1234#5678\" and \"AdMob (default)\" as label value).",
+              "The unique ID of the ad source instance (for example, \"ca-app-pub-1234:asi:5678\" and \"AdMob (default)\" as label value).",
               "The unique ID of the ad unit (for example, \"ca-app-pub-1234/8790\"). If AD_UNIT dimension is specified, then APP is included automatically.",
               "The unique ID of the mobile application (for example, \"ca-app-pub-1234~1234\").",
               "The unique ID of the mediation group (for example, \"ca-app-pub-1234:mg:1234\" and \"AdMob (default)\" as label value).",
@@ -706,7 +706,7 @@
             "A month in the YYYY-MM format (for example, \"2018-12\"). Requests can specify at most one time dimension.",
             "The date of the first day of a week in the YYYY-MM-DD format (for example, \"2018-12-21\"). Requests can specify at most one time dimension.",
             "The [unique ID of the ad source](/admob/api/v1/ad_sources) (for example, \"5450213213286189855\" and \"AdMob Network\" as label value).",
-            "The unique ID of the ad source instance (for example, \"ca-app-pub-1234#5678\" and \"AdMob (default)\" as label value).",
+            "The unique ID of the ad source instance (for example, \"ca-app-pub-1234:asi:5678\" and \"AdMob (default)\" as label value).",
             "The unique ID of the ad unit (for example, \"ca-app-pub-1234/8790\"). If AD_UNIT dimension is specified, then APP is included automatically.",
             "The unique ID of the mobile application (for example, \"ca-app-pub-1234~1234\").",
             "The unique ID of the mediation group (for example, \"ca-app-pub-1234:mg:1234\" and \"AdMob (default)\" as label value).",
@@ -749,7 +749,7 @@
             "A month in the YYYY-MM format (for example, \"2018-12\"). Requests can specify at most one time dimension.",
             "The date of the first day of a week in the YYYY-MM-DD format (for example, \"2018-12-21\"). Requests can specify at most one time dimension.",
             "The [unique ID of the ad source](/admob/api/v1/ad_sources) (for example, \"5450213213286189855\" and \"AdMob Network\" as label value).",
-            "The unique ID of the ad source instance (for example, \"ca-app-pub-1234#5678\" and \"AdMob (default)\" as label value).",
+            "The unique ID of the ad source instance (for example, \"ca-app-pub-1234:asi:5678\" and \"AdMob (default)\" as label value).",
             "The unique ID of the ad unit (for example, \"ca-app-pub-1234/8790\"). If AD_UNIT dimension is specified, then APP is included automatically.",
             "The unique ID of the mobile application (for example, \"ca-app-pub-1234~1234\").",
             "The unique ID of the mediation group (for example, \"ca-app-pub-1234:mg:1234\" and \"AdMob (default)\" as label value).",
diff --git a/googleapiclient/discovery_cache/documents/admob.v1beta.json b/googleapiclient/discovery_cache/documents/admob.v1beta.json
index bb82153..c028cbf 100644
--- a/googleapiclient/discovery_cache/documents/admob.v1beta.json
+++ b/googleapiclient/discovery_cache/documents/admob.v1beta.json
@@ -321,7 +321,7 @@
       }
     }
   },
-  "revision": "20210506",
+  "revision": "20210513",
   "rootUrl": "https://admob.googleapis.com/",
   "schemas": {
     "AdUnit": {
@@ -616,7 +616,7 @@
               "A month in the YYYY-MM format (for example, \"2018-12\"). Requests can specify at most one time dimension.",
               "The date of the first day of a week in the YYYY-MM-DD format (for example, \"2018-12-21\"). Requests can specify at most one time dimension.",
               "The [unique ID of the ad source](/admob/api/v1/ad_sources) (for example, \"5450213213286189855\" and \"AdMob Network\" as label value).",
-              "The unique ID of the ad source instance (for example, \"ca-app-pub-1234#5678\" and \"AdMob (default)\" as label value).",
+              "The unique ID of the ad source instance (for example, \"ca-app-pub-1234:asi:5678\" and \"AdMob (default)\" as label value).",
               "The unique ID of the ad unit (for example, \"ca-app-pub-1234/8790\"). If AD_UNIT dimension is specified, then APP is included automatically.",
               "The unique ID of the mobile application (for example, \"ca-app-pub-1234~1234\").",
               "The unique ID of the mediation group (for example, \"ca-app-pub-1234:mg:1234\" and \"AdMob (default)\" as label value).",
@@ -706,7 +706,7 @@
             "A month in the YYYY-MM format (for example, \"2018-12\"). Requests can specify at most one time dimension.",
             "The date of the first day of a week in the YYYY-MM-DD format (for example, \"2018-12-21\"). Requests can specify at most one time dimension.",
             "The [unique ID of the ad source](/admob/api/v1/ad_sources) (for example, \"5450213213286189855\" and \"AdMob Network\" as label value).",
-            "The unique ID of the ad source instance (for example, \"ca-app-pub-1234#5678\" and \"AdMob (default)\" as label value).",
+            "The unique ID of the ad source instance (for example, \"ca-app-pub-1234:asi:5678\" and \"AdMob (default)\" as label value).",
             "The unique ID of the ad unit (for example, \"ca-app-pub-1234/8790\"). If AD_UNIT dimension is specified, then APP is included automatically.",
             "The unique ID of the mobile application (for example, \"ca-app-pub-1234~1234\").",
             "The unique ID of the mediation group (for example, \"ca-app-pub-1234:mg:1234\" and \"AdMob (default)\" as label value).",
@@ -749,7 +749,7 @@
             "A month in the YYYY-MM format (for example, \"2018-12\"). Requests can specify at most one time dimension.",
             "The date of the first day of a week in the YYYY-MM-DD format (for example, \"2018-12-21\"). Requests can specify at most one time dimension.",
             "The [unique ID of the ad source](/admob/api/v1/ad_sources) (for example, \"5450213213286189855\" and \"AdMob Network\" as label value).",
-            "The unique ID of the ad source instance (for example, \"ca-app-pub-1234#5678\" and \"AdMob (default)\" as label value).",
+            "The unique ID of the ad source instance (for example, \"ca-app-pub-1234:asi:5678\" and \"AdMob (default)\" as label value).",
             "The unique ID of the ad unit (for example, \"ca-app-pub-1234/8790\"). If AD_UNIT dimension is specified, then APP is included automatically.",
             "The unique ID of the mobile application (for example, \"ca-app-pub-1234~1234\").",
             "The unique ID of the mediation group (for example, \"ca-app-pub-1234:mg:1234\" and \"AdMob (default)\" as label value).",
diff --git a/googleapiclient/discovery_cache/documents/adsense.v2.json b/googleapiclient/discovery_cache/documents/adsense.v2.json
index 1b15c3d..569f0c7 100644
--- a/googleapiclient/discovery_cache/documents/adsense.v2.json
+++ b/googleapiclient/discovery_cache/documents/adsense.v2.json
@@ -1559,7 +1559,7 @@
       }
     }
   },
-  "revision": "20210505",
+  "revision": "20210513",
   "rootUrl": "https://adsense.googleapis.com/",
   "schemas": {
     "Account": {
diff --git a/googleapiclient/discovery_cache/documents/analyticsadmin.v1alpha.json b/googleapiclient/discovery_cache/documents/analyticsadmin.v1alpha.json
index 6dc9002..6e9462c 100644
--- a/googleapiclient/discovery_cache/documents/analyticsadmin.v1alpha.json
+++ b/googleapiclient/discovery_cache/documents/analyticsadmin.v1alpha.json
@@ -911,6 +911,440 @@
             }
           }
         },
+        "conversionEvents": {
+          "methods": {
+            "create": {
+              "description": "Creates a conversion event with the specified attributes.",
+              "flatPath": "v1alpha/properties/{propertiesId}/conversionEvents",
+              "httpMethod": "POST",
+              "id": "analyticsadmin.properties.conversionEvents.create",
+              "parameterOrder": [
+                "parent"
+              ],
+              "parameters": {
+                "parent": {
+                  "description": "Required. The resource name of the parent property where this conversion event will be created. Format: properties/123",
+                  "location": "path",
+                  "pattern": "^properties/[^/]+$",
+                  "required": true,
+                  "type": "string"
+                }
+              },
+              "path": "v1alpha/{+parent}/conversionEvents",
+              "request": {
+                "$ref": "GoogleAnalyticsAdminV1alphaConversionEvent"
+              },
+              "response": {
+                "$ref": "GoogleAnalyticsAdminV1alphaConversionEvent"
+              },
+              "scopes": [
+                "https://www.googleapis.com/auth/analytics.edit"
+              ]
+            },
+            "delete": {
+              "description": "Deletes a conversion event in a property.",
+              "flatPath": "v1alpha/properties/{propertiesId}/conversionEvents/{conversionEventsId}",
+              "httpMethod": "DELETE",
+              "id": "analyticsadmin.properties.conversionEvents.delete",
+              "parameterOrder": [
+                "name"
+              ],
+              "parameters": {
+                "name": {
+                  "description": "Required. The resource name of the conversion event to delete. Format: properties/{property}/conversionEvents/{conversion_event} Example: \"properties/123/conversionEvents/456\"",
+                  "location": "path",
+                  "pattern": "^properties/[^/]+/conversionEvents/[^/]+$",
+                  "required": true,
+                  "type": "string"
+                }
+              },
+              "path": "v1alpha/{+name}",
+              "response": {
+                "$ref": "GoogleProtobufEmpty"
+              },
+              "scopes": [
+                "https://www.googleapis.com/auth/analytics.edit"
+              ]
+            },
+            "get": {
+              "description": "Retrieve a single conversion event.",
+              "flatPath": "v1alpha/properties/{propertiesId}/conversionEvents/{conversionEventsId}",
+              "httpMethod": "GET",
+              "id": "analyticsadmin.properties.conversionEvents.get",
+              "parameterOrder": [
+                "name"
+              ],
+              "parameters": {
+                "name": {
+                  "description": "Required. The resource name of the conversion event to retrieve. Format: properties/{property}/conversionEvents/{conversion_event} Example: \"properties/123/conversionEvents/456\"",
+                  "location": "path",
+                  "pattern": "^properties/[^/]+/conversionEvents/[^/]+$",
+                  "required": true,
+                  "type": "string"
+                }
+              },
+              "path": "v1alpha/{+name}",
+              "response": {
+                "$ref": "GoogleAnalyticsAdminV1alphaConversionEvent"
+              },
+              "scopes": [
+                "https://www.googleapis.com/auth/analytics.edit",
+                "https://www.googleapis.com/auth/analytics.readonly"
+              ]
+            },
+            "list": {
+              "description": "Returns a list of conversion events in the specified parent property. Returns an empty list if no conversion events are found.",
+              "flatPath": "v1alpha/properties/{propertiesId}/conversionEvents",
+              "httpMethod": "GET",
+              "id": "analyticsadmin.properties.conversionEvents.list",
+              "parameterOrder": [
+                "parent"
+              ],
+              "parameters": {
+                "pageSize": {
+                  "description": "The maximum number of resources to return. If unspecified, at most 50 resources will be returned. The maximum value is 200; (higher values will be coerced to the maximum)",
+                  "format": "int32",
+                  "location": "query",
+                  "type": "integer"
+                },
+                "pageToken": {
+                  "description": "A page token, received from a previous `ListConversionEvents` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListConversionEvents` must match the call that provided the page token.",
+                  "location": "query",
+                  "type": "string"
+                },
+                "parent": {
+                  "description": "Required. The resource name of the parent property. Example: 'properties/123'",
+                  "location": "path",
+                  "pattern": "^properties/[^/]+$",
+                  "required": true,
+                  "type": "string"
+                }
+              },
+              "path": "v1alpha/{+parent}/conversionEvents",
+              "response": {
+                "$ref": "GoogleAnalyticsAdminV1alphaListConversionEventsResponse"
+              },
+              "scopes": [
+                "https://www.googleapis.com/auth/analytics.edit",
+                "https://www.googleapis.com/auth/analytics.readonly"
+              ]
+            }
+          }
+        },
+        "customDimensions": {
+          "methods": {
+            "archive": {
+              "description": "Archives a CustomDimension on a property.",
+              "flatPath": "v1alpha/properties/{propertiesId}/customDimensions/{customDimensionsId}:archive",
+              "httpMethod": "POST",
+              "id": "analyticsadmin.properties.customDimensions.archive",
+              "parameterOrder": [
+                "name"
+              ],
+              "parameters": {
+                "name": {
+                  "description": "Required. The name of the CustomDimension to archive. Example format: properties/1234/customDimensions/5678",
+                  "location": "path",
+                  "pattern": "^properties/[^/]+/customDimensions/[^/]+$",
+                  "required": true,
+                  "type": "string"
+                }
+              },
+              "path": "v1alpha/{+name}:archive",
+              "request": {
+                "$ref": "GoogleAnalyticsAdminV1alphaArchiveCustomDimensionRequest"
+              },
+              "response": {
+                "$ref": "GoogleProtobufEmpty"
+              },
+              "scopes": [
+                "https://www.googleapis.com/auth/analytics.edit"
+              ]
+            },
+            "create": {
+              "description": "Creates a CustomDimension.",
+              "flatPath": "v1alpha/properties/{propertiesId}/customDimensions",
+              "httpMethod": "POST",
+              "id": "analyticsadmin.properties.customDimensions.create",
+              "parameterOrder": [
+                "parent"
+              ],
+              "parameters": {
+                "parent": {
+                  "description": "Required. Example format: properties/1234",
+                  "location": "path",
+                  "pattern": "^properties/[^/]+$",
+                  "required": true,
+                  "type": "string"
+                }
+              },
+              "path": "v1alpha/{+parent}/customDimensions",
+              "request": {
+                "$ref": "GoogleAnalyticsAdminV1alphaCustomDimension"
+              },
+              "response": {
+                "$ref": "GoogleAnalyticsAdminV1alphaCustomDimension"
+              },
+              "scopes": [
+                "https://www.googleapis.com/auth/analytics.edit"
+              ]
+            },
+            "get": {
+              "description": "Lookup for a single CustomDimension.",
+              "flatPath": "v1alpha/properties/{propertiesId}/customDimensions/{customDimensionsId}",
+              "httpMethod": "GET",
+              "id": "analyticsadmin.properties.customDimensions.get",
+              "parameterOrder": [
+                "name"
+              ],
+              "parameters": {
+                "name": {
+                  "description": "Required. The name of the CustomDimension to get. Example format: properties/1234/customDimensions/5678",
+                  "location": "path",
+                  "pattern": "^properties/[^/]+/customDimensions/[^/]+$",
+                  "required": true,
+                  "type": "string"
+                }
+              },
+              "path": "v1alpha/{+name}",
+              "response": {
+                "$ref": "GoogleAnalyticsAdminV1alphaCustomDimension"
+              },
+              "scopes": [
+                "https://www.googleapis.com/auth/analytics.edit",
+                "https://www.googleapis.com/auth/analytics.readonly"
+              ]
+            },
+            "list": {
+              "description": "Lists CustomDimensions on a property.",
+              "flatPath": "v1alpha/properties/{propertiesId}/customDimensions",
+              "httpMethod": "GET",
+              "id": "analyticsadmin.properties.customDimensions.list",
+              "parameterOrder": [
+                "parent"
+              ],
+              "parameters": {
+                "pageSize": {
+                  "description": "The maximum number of resources to return. If unspecified, at most 50 resources will be returned. The maximum value is 200 (higher values will be coerced to the maximum).",
+                  "format": "int32",
+                  "location": "query",
+                  "type": "integer"
+                },
+                "pageToken": {
+                  "description": "A page token, received from a previous `ListCustomDimensions` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListCustomDimensions` must match the call that provided the page token.",
+                  "location": "query",
+                  "type": "string"
+                },
+                "parent": {
+                  "description": "Required. Example format: properties/1234",
+                  "location": "path",
+                  "pattern": "^properties/[^/]+$",
+                  "required": true,
+                  "type": "string"
+                }
+              },
+              "path": "v1alpha/{+parent}/customDimensions",
+              "response": {
+                "$ref": "GoogleAnalyticsAdminV1alphaListCustomDimensionsResponse"
+              },
+              "scopes": [
+                "https://www.googleapis.com/auth/analytics.edit",
+                "https://www.googleapis.com/auth/analytics.readonly"
+              ]
+            },
+            "patch": {
+              "description": "Updates a CustomDimension on a property.",
+              "flatPath": "v1alpha/properties/{propertiesId}/customDimensions/{customDimensionsId}",
+              "httpMethod": "PATCH",
+              "id": "analyticsadmin.properties.customDimensions.patch",
+              "parameterOrder": [
+                "name"
+              ],
+              "parameters": {
+                "name": {
+                  "description": "Output only. Resource name for this CustomDimension resource. Format: properties/{property}/customDimensions/{customDimension}",
+                  "location": "path",
+                  "pattern": "^properties/[^/]+/customDimensions/[^/]+$",
+                  "required": true,
+                  "type": "string"
+                },
+                "updateMask": {
+                  "description": "Required. The list of fields to be updated. Omitted fields will not be updated. To replace the entire entity, use one path with the string \"*\" to match all fields.",
+                  "format": "google-fieldmask",
+                  "location": "query",
+                  "type": "string"
+                }
+              },
+              "path": "v1alpha/{+name}",
+              "request": {
+                "$ref": "GoogleAnalyticsAdminV1alphaCustomDimension"
+              },
+              "response": {
+                "$ref": "GoogleAnalyticsAdminV1alphaCustomDimension"
+              },
+              "scopes": [
+                "https://www.googleapis.com/auth/analytics.edit"
+              ]
+            }
+          }
+        },
+        "customMetrics": {
+          "methods": {
+            "archive": {
+              "description": "Archives a CustomMetric on a property.",
+              "flatPath": "v1alpha/properties/{propertiesId}/customMetrics/{customMetricsId}:archive",
+              "httpMethod": "POST",
+              "id": "analyticsadmin.properties.customMetrics.archive",
+              "parameterOrder": [
+                "name"
+              ],
+              "parameters": {
+                "name": {
+                  "description": "Required. The name of the CustomMetric to archive. Example format: properties/1234/customMetrics/5678",
+                  "location": "path",
+                  "pattern": "^properties/[^/]+/customMetrics/[^/]+$",
+                  "required": true,
+                  "type": "string"
+                }
+              },
+              "path": "v1alpha/{+name}:archive",
+              "request": {
+                "$ref": "GoogleAnalyticsAdminV1alphaArchiveCustomMetricRequest"
+              },
+              "response": {
+                "$ref": "GoogleProtobufEmpty"
+              },
+              "scopes": [
+                "https://www.googleapis.com/auth/analytics.edit"
+              ]
+            },
+            "create": {
+              "description": "Creates a CustomMetric.",
+              "flatPath": "v1alpha/properties/{propertiesId}/customMetrics",
+              "httpMethod": "POST",
+              "id": "analyticsadmin.properties.customMetrics.create",
+              "parameterOrder": [
+                "parent"
+              ],
+              "parameters": {
+                "parent": {
+                  "description": "Required. Example format: properties/1234",
+                  "location": "path",
+                  "pattern": "^properties/[^/]+$",
+                  "required": true,
+                  "type": "string"
+                }
+              },
+              "path": "v1alpha/{+parent}/customMetrics",
+              "request": {
+                "$ref": "GoogleAnalyticsAdminV1alphaCustomMetric"
+              },
+              "response": {
+                "$ref": "GoogleAnalyticsAdminV1alphaCustomMetric"
+              },
+              "scopes": [
+                "https://www.googleapis.com/auth/analytics.edit"
+              ]
+            },
+            "get": {
+              "description": "Lookup for a single CustomMetric.",
+              "flatPath": "v1alpha/properties/{propertiesId}/customMetrics/{customMetricsId}",
+              "httpMethod": "GET",
+              "id": "analyticsadmin.properties.customMetrics.get",
+              "parameterOrder": [
+                "name"
+              ],
+              "parameters": {
+                "name": {
+                  "description": "Required. The name of the CustomMetric to get. Example format: properties/1234/customMetrics/5678",
+                  "location": "path",
+                  "pattern": "^properties/[^/]+/customMetrics/[^/]+$",
+                  "required": true,
+                  "type": "string"
+                }
+              },
+              "path": "v1alpha/{+name}",
+              "response": {
+                "$ref": "GoogleAnalyticsAdminV1alphaCustomMetric"
+              },
+              "scopes": [
+                "https://www.googleapis.com/auth/analytics.edit",
+                "https://www.googleapis.com/auth/analytics.readonly"
+              ]
+            },
+            "list": {
+              "description": "Lists CustomMetrics on a property.",
+              "flatPath": "v1alpha/properties/{propertiesId}/customMetrics",
+              "httpMethod": "GET",
+              "id": "analyticsadmin.properties.customMetrics.list",
+              "parameterOrder": [
+                "parent"
+              ],
+              "parameters": {
+                "pageSize": {
+                  "description": "The maximum number of resources to return. If unspecified, at most 50 resources will be returned. The maximum value is 200 (higher values will be coerced to the maximum).",
+                  "format": "int32",
+                  "location": "query",
+                  "type": "integer"
+                },
+                "pageToken": {
+                  "description": "A page token, received from a previous `ListCustomMetrics` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListCustomMetrics` must match the call that provided the page token.",
+                  "location": "query",
+                  "type": "string"
+                },
+                "parent": {
+                  "description": "Required. Example format: properties/1234",
+                  "location": "path",
+                  "pattern": "^properties/[^/]+$",
+                  "required": true,
+                  "type": "string"
+                }
+              },
+              "path": "v1alpha/{+parent}/customMetrics",
+              "response": {
+                "$ref": "GoogleAnalyticsAdminV1alphaListCustomMetricsResponse"
+              },
+              "scopes": [
+                "https://www.googleapis.com/auth/analytics.edit",
+                "https://www.googleapis.com/auth/analytics.readonly"
+              ]
+            },
+            "patch": {
+              "description": "Updates a CustomMetric on a property.",
+              "flatPath": "v1alpha/properties/{propertiesId}/customMetrics/{customMetricsId}",
+              "httpMethod": "PATCH",
+              "id": "analyticsadmin.properties.customMetrics.patch",
+              "parameterOrder": [
+                "name"
+              ],
+              "parameters": {
+                "name": {
+                  "description": "Output only. Resource name for this CustomMetric resource. Format: properties/{property}/customMetrics/{customMetric}",
+                  "location": "path",
+                  "pattern": "^properties/[^/]+/customMetrics/[^/]+$",
+                  "required": true,
+                  "type": "string"
+                },
+                "updateMask": {
+                  "description": "Required. The list of fields to be updated. Omitted fields will not be updated. To replace the entire entity, use one path with the string \"*\" to match all fields.",
+                  "format": "google-fieldmask",
+                  "location": "query",
+                  "type": "string"
+                }
+              },
+              "path": "v1alpha/{+name}",
+              "request": {
+                "$ref": "GoogleAnalyticsAdminV1alphaCustomMetric"
+              },
+              "response": {
+                "$ref": "GoogleAnalyticsAdminV1alphaCustomMetric"
+              },
+              "scopes": [
+                "https://www.googleapis.com/auth/analytics.edit"
+              ]
+            }
+          }
+        },
         "firebaseLinks": {
           "methods": {
             "create": {
@@ -1834,7 +2268,7 @@
       }
     }
   },
-  "revision": "20210506",
+  "revision": "20210513",
   "rootUrl": "https://analyticsadmin.googleapis.com/",
   "schemas": {
     "GoogleAnalyticsAdminV1alphaAccount": {
@@ -1937,6 +2371,18 @@
       },
       "type": "object"
     },
+    "GoogleAnalyticsAdminV1alphaArchiveCustomDimensionRequest": {
+      "description": "Request message for ArchiveCustomDimension RPC.",
+      "id": "GoogleAnalyticsAdminV1alphaArchiveCustomDimensionRequest",
+      "properties": {},
+      "type": "object"
+    },
+    "GoogleAnalyticsAdminV1alphaArchiveCustomMetricRequest": {
+      "description": "Request message for ArchiveCustomMetric RPC.",
+      "id": "GoogleAnalyticsAdminV1alphaArchiveCustomMetricRequest",
+      "properties": {},
+      "type": "object"
+    },
     "GoogleAnalyticsAdminV1alphaAuditUserLink": {
       "description": "Read-only resource used to summarize a principal's effective roles.",
       "id": "GoogleAnalyticsAdminV1alphaAuditUserLink",
@@ -2135,6 +2581,18 @@
           "$ref": "GoogleAnalyticsAdminV1alphaAndroidAppDataStream",
           "description": "A snapshot of an AndroidAppDataStream resource in change history."
         },
+        "conversionEvent": {
+          "$ref": "GoogleAnalyticsAdminV1alphaConversionEvent",
+          "description": "A snapshot of a ConversionEvent resource in change history."
+        },
+        "customDimension": {
+          "$ref": "GoogleAnalyticsAdminV1alphaCustomDimension",
+          "description": "A snapshot of a CustomDimension resource in change history."
+        },
+        "customMetric": {
+          "$ref": "GoogleAnalyticsAdminV1alphaCustomMetric",
+          "description": "A snapshot of a CustomMetric resource in change history."
+        },
         "firebaseLink": {
           "$ref": "GoogleAnalyticsAdminV1alphaFirebaseLink",
           "description": "A snapshot of a FirebaseLink resource in change history."
@@ -2205,6 +2663,33 @@
       },
       "type": "object"
     },
+    "GoogleAnalyticsAdminV1alphaConversionEvent": {
+      "description": "A conversion event in a Google Analytics property.",
+      "id": "GoogleAnalyticsAdminV1alphaConversionEvent",
+      "properties": {
+        "createTime": {
+          "description": "Output only. Time when this conversion event was created in the property.",
+          "format": "google-datetime",
+          "readOnly": true,
+          "type": "string"
+        },
+        "eventName": {
+          "description": "Immutable. The event name for this conversion event. Examples: 'click', 'purchase'",
+          "type": "string"
+        },
+        "isDeletable": {
+          "description": "Output only. If set, this event can currently be deleted via DeleteConversionEvent.",
+          "readOnly": true,
+          "type": "boolean"
+        },
+        "name": {
+          "description": "Output only. Resource name of this conversion event. Format: properties/{property}/conversionEvents/{conversion_event}",
+          "readOnly": true,
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
     "GoogleAnalyticsAdminV1alphaCreateUserLinkRequest": {
       "description": "Request message for CreateUserLink RPC. Users can have multiple email addresses associated with their Google account, and one of these email addresses is the \"primary\" email address. Any of the email addresses associated with a Google account may be used for a new UserLink, but the returned UserLink will always contain the \"primary\" email address. As a result, the input and output email address for this request may differ.",
       "id": "GoogleAnalyticsAdminV1alphaCreateUserLinkRequest",
@@ -2224,6 +2709,114 @@
       },
       "type": "object"
     },
+    "GoogleAnalyticsAdminV1alphaCustomDimension": {
+      "description": "A definition for a CustomDimension.",
+      "id": "GoogleAnalyticsAdminV1alphaCustomDimension",
+      "properties": {
+        "description": {
+          "description": "Optional. Description for this custom dimension. Max length of 150 characters.",
+          "type": "string"
+        },
+        "disallowAdsPersonalization": {
+          "description": "Optional. If set to true, sets this dimension as NPA and excludes it from ads personalization. This is currently only supported by user-scoped custom dimensions.",
+          "type": "boolean"
+        },
+        "displayName": {
+          "description": "Required. Display name for this custom dimension as shown in the Analytics UI. Max length of 82 characters, alphanumeric plus space and underscore starting with a letter. Legacy system-generated display names may contain square brackets, but updates to this field will never permit square brackets.",
+          "type": "string"
+        },
+        "name": {
+          "description": "Output only. Resource name for this CustomDimension resource. Format: properties/{property}/customDimensions/{customDimension}",
+          "readOnly": true,
+          "type": "string"
+        },
+        "parameterName": {
+          "description": "Required. Immutable. Tagging parameter name for this custom dimension. If this is a user-scoped dimension, then this is the user property name. If this is an event-scoped dimension, then this is the event parameter name. May only contain alphanumeric and underscore characters, starting with a letter. Max length of 24 characters for user-scoped dimensions, 40 characters for event-scoped dimensions.",
+          "type": "string"
+        },
+        "scope": {
+          "description": "Required. Immutable. The scope of this dimension.",
+          "enum": [
+            "DIMENSION_SCOPE_UNSPECIFIED",
+            "EVENT",
+            "USER"
+          ],
+          "enumDescriptions": [
+            "Scope unknown or not specified.",
+            "Dimension scoped to an event.",
+            "Dimension scoped to a user."
+          ],
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
+    "GoogleAnalyticsAdminV1alphaCustomMetric": {
+      "description": "A definition for a custom metric.",
+      "id": "GoogleAnalyticsAdminV1alphaCustomMetric",
+      "properties": {
+        "description": {
+          "description": "Optional. Description for this custom dimension. Max length of 150 characters.",
+          "type": "string"
+        },
+        "displayName": {
+          "description": "Required. Display name for this custom metric as shown in the Analytics UI. Max length of 82 characters, alphanumeric plus space and underscore starting with a letter. Legacy system-generated display names may contain square brackets, but updates to this field will never permit square brackets.",
+          "type": "string"
+        },
+        "measurementUnit": {
+          "description": "Required. Immutable. The type for the custom metric's value.",
+          "enum": [
+            "MEASUREMENT_UNIT_UNSPECIFIED",
+            "STANDARD",
+            "CURRENCY",
+            "FEET",
+            "METERS",
+            "KILOMETERS",
+            "MILES",
+            "MILLISECONDS",
+            "SECONDS",
+            "MINUTES",
+            "HOURS"
+          ],
+          "enumDescriptions": [
+            "MeasurementUnit unspecified or missing.",
+            "This metric uses default units.",
+            "This metric measures a currency.",
+            "This metric measures feet.",
+            "This metric measures meters.",
+            "This metric measures kilometers.",
+            "This metric measures miles.",
+            "This metric measures milliseconds.",
+            "This metric measures seconds.",
+            "This metric measures minutes.",
+            "This metric measures hours."
+          ],
+          "type": "string"
+        },
+        "name": {
+          "description": "Output only. Resource name for this CustomMetric resource. Format: properties/{property}/customMetrics/{customMetric}",
+          "readOnly": true,
+          "type": "string"
+        },
+        "parameterName": {
+          "description": "Required. Immutable. Tagging name for this custom metric. If this is an event-scoped metric, then this is the event parameter name. May only contain alphanumeric and underscore charactes, starting with a letter. Max length of 40 characters for event-scoped metrics.",
+          "type": "string"
+        },
+        "scope": {
+          "description": "Required. Immutable. The scope of this custom metric.",
+          "enum": [
+            "METRIC_SCOPE_UNSPECIFIED",
+            "EVENT"
+          ],
+          "enumDescriptions": [
+            "Scope unknown or not specified.",
+            "Metric scoped to an event."
+          ],
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
     "GoogleAnalyticsAdminV1alphaDataSharingSettings": {
       "description": "A resource message representing data sharing settings of a Google Analytics account.",
       "id": "GoogleAnalyticsAdminV1alphaDataSharingSettings",
@@ -2514,6 +3107,60 @@
       },
       "type": "object"
     },
+    "GoogleAnalyticsAdminV1alphaListConversionEventsResponse": {
+      "description": "Response message for ListConversionEvents RPC.",
+      "id": "GoogleAnalyticsAdminV1alphaListConversionEventsResponse",
+      "properties": {
+        "conversionEvents": {
+          "description": "The requested conversion events",
+          "items": {
+            "$ref": "GoogleAnalyticsAdminV1alphaConversionEvent"
+          },
+          "type": "array"
+        },
+        "nextPageToken": {
+          "description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.",
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
+    "GoogleAnalyticsAdminV1alphaListCustomDimensionsResponse": {
+      "description": "Response message for ListCustomDimensions RPC.",
+      "id": "GoogleAnalyticsAdminV1alphaListCustomDimensionsResponse",
+      "properties": {
+        "customDimensions": {
+          "description": "List of CustomDimensions.",
+          "items": {
+            "$ref": "GoogleAnalyticsAdminV1alphaCustomDimension"
+          },
+          "type": "array"
+        },
+        "nextPageToken": {
+          "description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.",
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
+    "GoogleAnalyticsAdminV1alphaListCustomMetricsResponse": {
+      "description": "Response message for ListCustomMetrics RPC.",
+      "id": "GoogleAnalyticsAdminV1alphaListCustomMetricsResponse",
+      "properties": {
+        "customMetrics": {
+          "description": "List of CustomMetrics.",
+          "items": {
+            "$ref": "GoogleAnalyticsAdminV1alphaCustomMetric"
+          },
+          "type": "array"
+        },
+        "nextPageToken": {
+          "description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.",
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
     "GoogleAnalyticsAdminV1alphaListFirebaseLinksResponse": {
       "description": "Response message for ListFirebaseLinks RPC",
       "id": "GoogleAnalyticsAdminV1alphaListFirebaseLinksResponse",
@@ -2841,7 +3488,10 @@
               "ANDROID_APP_DATA_STREAM",
               "IOS_APP_DATA_STREAM",
               "FIREBASE_LINK",
-              "GOOGLE_ADS_LINK"
+              "GOOGLE_ADS_LINK",
+              "CONVERSION_EVENT",
+              "CUSTOM_DIMENSION",
+              "CUSTOM_METRIC"
             ],
             "enumDescriptions": [
               "Resource type unknown or not specified.",
@@ -2851,7 +3501,10 @@
               "AndroidAppDataStream resource",
               "IosAppDataStream resource",
               "FirebaseLink resource",
-              "GoogleAdsLink resource"
+              "GoogleAdsLink resource",
+              "ConversionEvent resource",
+              "CustomDimension resource",
+              "CustomMetric resource"
             ],
             "type": "string"
           },
diff --git a/googleapiclient/discovery_cache/documents/analyticsdata.v1beta.json b/googleapiclient/discovery_cache/documents/analyticsdata.v1beta.json
index 9847554..7fc308f 100644
--- a/googleapiclient/discovery_cache/documents/analyticsdata.v1beta.json
+++ b/googleapiclient/discovery_cache/documents/analyticsdata.v1beta.json
@@ -284,7 +284,7 @@
       }
     }
   },
-  "revision": "20210505",
+  "revision": "20210512",
   "rootUrl": "https://analyticsdata.googleapis.com/",
   "schemas": {
     "BatchRunPivotReportsRequest": {
diff --git a/googleapiclient/discovery_cache/documents/androiddeviceprovisioning.v1.json b/googleapiclient/discovery_cache/documents/androiddeviceprovisioning.v1.json
index 2bf3807..9c62efe 100644
--- a/googleapiclient/discovery_cache/documents/androiddeviceprovisioning.v1.json
+++ b/googleapiclient/discovery_cache/documents/androiddeviceprovisioning.v1.json
@@ -825,7 +825,7 @@
       }
     }
   },
-  "revision": "20210504",
+  "revision": "20210511",
   "rootUrl": "https://androiddeviceprovisioning.googleapis.com/",
   "schemas": {
     "ClaimDeviceRequest": {
diff --git a/googleapiclient/discovery_cache/documents/androidpublisher.v3.json b/googleapiclient/discovery_cache/documents/androidpublisher.v3.json
index ab4dd76..8fcfdcf 100644
--- a/googleapiclient/discovery_cache/documents/androidpublisher.v3.json
+++ b/googleapiclient/discovery_cache/documents/androidpublisher.v3.json
@@ -2676,7 +2676,7 @@
       }
     }
   },
-  "revision": "20210506",
+  "revision": "20210510",
   "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 2bf6440..0ffe7d3 100644
--- a/googleapiclient/discovery_cache/documents/apigateway.v1.json
+++ b/googleapiclient/discovery_cache/documents/apigateway.v1.json
@@ -1083,7 +1083,7 @@
       }
     }
   },
-  "revision": "20210429",
+  "revision": "20210506",
   "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 146aa31..dc40d5b 100644
--- a/googleapiclient/discovery_cache/documents/apigateway.v1beta.json
+++ b/googleapiclient/discovery_cache/documents/apigateway.v1beta.json
@@ -1083,7 +1083,7 @@
       }
     }
   },
-  "revision": "20210429",
+  "revision": "20210506",
   "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 aced5ca..e2c6ffc 100644
--- a/googleapiclient/discovery_cache/documents/apigee.v1.json
+++ b/googleapiclient/discovery_cache/documents/apigee.v1.json
@@ -6986,7 +6986,7 @@
       }
     }
   },
-  "revision": "20210429",
+  "revision": "20210510",
   "rootUrl": "https://apigee.googleapis.com/",
   "schemas": {
     "GoogleApiHttpBody": {
@@ -8879,13 +8879,15 @@
             "STATE_UNSPECIFIED",
             "CREATING",
             "ACTIVE",
-            "DELETING"
+            "DELETING",
+            "UPDATING"
           ],
           "enumDescriptions": [
             "Resource is in an unspecified state.",
             "Resource is being created.",
             "Resource is provisioned and ready to use.",
-            "The resource is being deleted."
+            "The resource is being deleted.",
+            "The resource is being updated."
           ],
           "readOnly": true,
           "type": "string"
@@ -9027,13 +9029,15 @@
             "STATE_UNSPECIFIED",
             "CREATING",
             "ACTIVE",
-            "DELETING"
+            "DELETING",
+            "UPDATING"
           ],
           "enumDescriptions": [
             "Resource is in an unspecified state.",
             "Resource is being created.",
             "Resource is provisioned and ready to use.",
-            "The resource is being deleted."
+            "The resource is being deleted.",
+            "The resource is being updated."
           ],
           "readOnly": true,
           "type": "string"
@@ -9399,13 +9403,15 @@
             "STATE_UNSPECIFIED",
             "CREATING",
             "ACTIVE",
-            "DELETING"
+            "DELETING",
+            "UPDATING"
           ],
           "enumDescriptions": [
             "Resource is in an unspecified state.",
             "Resource is being created.",
             "Resource is provisioned and ready to use.",
-            "The resource is being deleted."
+            "The resource is being deleted.",
+            "The resource is being updated."
           ],
           "readOnly": true,
           "type": "string"
@@ -10370,13 +10376,15 @@
             "STATE_UNSPECIFIED",
             "CREATING",
             "ACTIVE",
-            "DELETING"
+            "DELETING",
+            "UPDATING"
           ],
           "enumDescriptions": [
             "Resource is in an unspecified state.",
             "Resource is being created.",
             "Resource is provisioned and ready to use.",
-            "The resource is being deleted."
+            "The resource is being deleted.",
+            "The resource is being updated."
           ],
           "readOnly": true,
           "type": "string"
@@ -11094,7 +11102,7 @@
           "type": "array"
         },
         "jsonSpec": {
-          "description": "The json content of the resource revision.",
+          "description": "The json content of the resource revision. Large specs should be sent individually via the spec field to avoid hitting request size limits.",
           "type": "string"
         },
         "replicas": {
diff --git a/googleapiclient/discovery_cache/documents/apikeys.v2.json b/googleapiclient/discovery_cache/documents/apikeys.v2.json
index 8e75995..680bf80 100644
--- a/googleapiclient/discovery_cache/documents/apikeys.v2.json
+++ b/googleapiclient/discovery_cache/documents/apikeys.v2.json
@@ -424,7 +424,7 @@
       }
     }
   },
-  "revision": "20210505",
+  "revision": "20210512",
   "rootUrl": "https://apikeys.googleapis.com/",
   "schemas": {
     "Operation": {
diff --git a/googleapiclient/discovery_cache/documents/appengine.v1.json b/googleapiclient/discovery_cache/documents/appengine.v1.json
index c77429e..ff099f4 100644
--- a/googleapiclient/discovery_cache/documents/appengine.v1.json
+++ b/googleapiclient/discovery_cache/documents/appengine.v1.json
@@ -1594,7 +1594,7 @@
       }
     }
   },
-  "revision": "20210501",
+  "revision": "20210508",
   "rootUrl": "https://appengine.googleapis.com/",
   "schemas": {
     "ApiConfigHandler": {
diff --git a/googleapiclient/discovery_cache/documents/appengine.v1alpha.json b/googleapiclient/discovery_cache/documents/appengine.v1alpha.json
index a6c4349..08e2638 100644
--- a/googleapiclient/discovery_cache/documents/appengine.v1alpha.json
+++ b/googleapiclient/discovery_cache/documents/appengine.v1alpha.json
@@ -708,7 +708,7 @@
       }
     }
   },
-  "revision": "20210501",
+  "revision": "20210508",
   "rootUrl": "https://appengine.googleapis.com/",
   "schemas": {
     "AuthorizedCertificate": {
diff --git a/googleapiclient/discovery_cache/documents/appengine.v1beta.json b/googleapiclient/discovery_cache/documents/appengine.v1beta.json
index 0f67c99..436ee98 100644
--- a/googleapiclient/discovery_cache/documents/appengine.v1beta.json
+++ b/googleapiclient/discovery_cache/documents/appengine.v1beta.json
@@ -1594,7 +1594,7 @@
       }
     }
   },
-  "revision": "20210501",
+  "revision": "20210508",
   "rootUrl": "https://appengine.googleapis.com/",
   "schemas": {
     "ApiConfigHandler": {
diff --git a/googleapiclient/discovery_cache/documents/area120tables.v1alpha1.json b/googleapiclient/discovery_cache/documents/area120tables.v1alpha1.json
index f93ccae..4a4e053 100644
--- a/googleapiclient/discovery_cache/documents/area120tables.v1alpha1.json
+++ b/googleapiclient/discovery_cache/documents/area120tables.v1alpha1.json
@@ -586,7 +586,7 @@
       }
     }
   },
-  "revision": "20210506",
+  "revision": "20210511",
   "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 603cde7..7348eb1 100644
--- a/googleapiclient/discovery_cache/documents/artifactregistry.v1.json
+++ b/googleapiclient/discovery_cache/documents/artifactregistry.v1.json
@@ -348,7 +348,7 @@
       }
     }
   },
-  "revision": "20210430",
+  "revision": "20210509",
   "rootUrl": "https://artifactregistry.googleapis.com/",
   "schemas": {
     "CancelOperationRequest": {
@@ -358,16 +358,21 @@
       "type": "object"
     },
     "DockerImage": {
-      "description": "DockerImage represents a docker artifact.",
+      "description": "DockerImage represents a docker artifact. The following fields are returned as untyped metadata in the Version resource, using camelcase keys (i.e. metadata.imageSizeBytes): - imageSizeBytes - mediaType - buildTime",
       "id": "DockerImage",
       "properties": {
+        "buildTime": {
+          "description": "The time this image was built. This field is returned as the 'metadata.buildTime' field in the Version resource. The build time is returned to the client as an RFC 3339 string, which can be easily used with the JavaScript Date constructor and keeps the Version timestamps returned via OnePlatform consistent, as JSON marshals google.protobuf.Timestamp into an RFC 3339 string. (http://google3/cloud/containers/artifacts/metadata/v1beta2/builder/data.go?l=158-159&rcl=364878183).",
+          "format": "google-datetime",
+          "type": "string"
+        },
         "imageSizeBytes": {
-          "description": "Calculated size of the image.",
+          "description": "Calculated size of the image. This field is returned as the 'metadata.imageSizeBytes' field in the Version resource.",
           "format": "int64",
           "type": "string"
         },
         "mediaType": {
-          "description": "Media type of this image, e.g. \"application/vnd.docker.distribution.manifest.v2+json\".",
+          "description": "Media type of this image, e.g. \"application/vnd.docker.distribution.manifest.v2+json\". This field is returned as the 'metadata.mediaType' field in the Version resource.",
           "type": "string"
         },
         "name": {
diff --git a/googleapiclient/discovery_cache/documents/artifactregistry.v1beta1.json b/googleapiclient/discovery_cache/documents/artifactregistry.v1beta1.json
index 84ab1a8..fcb2509 100644
--- a/googleapiclient/discovery_cache/documents/artifactregistry.v1beta1.json
+++ b/googleapiclient/discovery_cache/documents/artifactregistry.v1beta1.json
@@ -971,7 +971,7 @@
       }
     }
   },
-  "revision": "20210430",
+  "revision": "20210509",
   "rootUrl": "https://artifactregistry.googleapis.com/",
   "schemas": {
     "Binding": {
diff --git a/googleapiclient/discovery_cache/documents/artifactregistry.v1beta2.json b/googleapiclient/discovery_cache/documents/artifactregistry.v1beta2.json
index 6bd90d4..717a2c0 100644
--- a/googleapiclient/discovery_cache/documents/artifactregistry.v1beta2.json
+++ b/googleapiclient/discovery_cache/documents/artifactregistry.v1beta2.json
@@ -971,7 +971,7 @@
       }
     }
   },
-  "revision": "20210430",
+  "revision": "20210509",
   "rootUrl": "https://artifactregistry.googleapis.com/",
   "schemas": {
     "Binding": {
diff --git a/googleapiclient/discovery_cache/documents/assuredworkloads.v1.json b/googleapiclient/discovery_cache/documents/assuredworkloads.v1.json
index c54ec9b..c56c924 100644
--- a/googleapiclient/discovery_cache/documents/assuredworkloads.v1.json
+++ b/googleapiclient/discovery_cache/documents/assuredworkloads.v1.json
@@ -351,7 +351,7 @@
       }
     }
   },
-  "revision": "20210429",
+  "revision": "20210506",
   "rootUrl": "https://assuredworkloads.googleapis.com/",
   "schemas": {
     "GoogleCloudAssuredworkloadsV1CreateWorkloadOperationMetadata": {
@@ -548,6 +548,10 @@
       "description": "Represent the custom settings for the resources to be created.",
       "id": "GoogleCloudAssuredworkloadsV1WorkloadResourceSettings",
       "properties": {
+        "displayName": {
+          "description": "User-assigned resource display name. If not empty it will be used to create a resource with the specified name.",
+          "type": "string"
+        },
         "resourceId": {
           "description": "Resource identifier. For a project this represents project_id. If the project is already taken, the workload creation will fail.",
           "type": "string"
@@ -611,6 +615,13 @@
         "parent": {
           "description": "Optional. The parent of the workload.",
           "type": "string"
+        },
+        "resourceSettings": {
+          "description": "Optional. Resource properties in the input that are used for creating/customizing workload resources.",
+          "items": {
+            "$ref": "GoogleCloudAssuredworkloadsV1beta1WorkloadResourceSettings"
+          },
+          "type": "array"
         }
       },
       "type": "object"
@@ -807,6 +818,10 @@
       "description": "Represent the custom settings for the resources to be created.",
       "id": "GoogleCloudAssuredworkloadsV1beta1WorkloadResourceSettings",
       "properties": {
+        "displayName": {
+          "description": "User-assigned resource display name. If not empty it will be used to create a resource with the specified name.",
+          "type": "string"
+        },
         "resourceId": {
           "description": "Resource identifier. For a project this represents project_id. If the project is already taken, the workload creation will fail.",
           "type": "string"
diff --git a/googleapiclient/discovery_cache/documents/baremetalsolution.v1.json b/googleapiclient/discovery_cache/documents/baremetalsolution.v1.json
index 1413535..98274b6 100644
--- a/googleapiclient/discovery_cache/documents/baremetalsolution.v1.json
+++ b/googleapiclient/discovery_cache/documents/baremetalsolution.v1.json
@@ -145,7 +145,7 @@
       }
     }
   },
-  "revision": "20210506",
+  "revision": "20210513",
   "rootUrl": "https://baremetalsolution.googleapis.com/",
   "schemas": {
     "ResetInstanceRequest": {
diff --git a/googleapiclient/discovery_cache/documents/bigquery.v2.json b/googleapiclient/discovery_cache/documents/bigquery.v2.json
index e509f6f..50d2a78 100644
--- a/googleapiclient/discovery_cache/documents/bigquery.v2.json
+++ b/googleapiclient/discovery_cache/documents/bigquery.v2.json
@@ -1683,7 +1683,7 @@
       }
     }
   },
-  "revision": "20210430",
+  "revision": "20210503",
   "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 68d7e10..7957fff 100644
--- a/googleapiclient/discovery_cache/documents/bigqueryconnection.v1beta1.json
+++ b/googleapiclient/discovery_cache/documents/bigqueryconnection.v1beta1.json
@@ -395,7 +395,7 @@
       }
     }
   },
-  "revision": "20210430",
+  "revision": "20210503",
   "rootUrl": "https://bigqueryconnection.googleapis.com/",
   "schemas": {
     "AuditConfig": {
diff --git a/googleapiclient/discovery_cache/documents/bigtableadmin.v1.json b/googleapiclient/discovery_cache/documents/bigtableadmin.v1.json
index 8dba437..cfdca56 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": "20210416",
+  "revision": "20210504",
   "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 0b8dd80..d20fa69 100644
--- a/googleapiclient/discovery_cache/documents/bigtableadmin.v2.json
+++ b/googleapiclient/discovery_cache/documents/bigtableadmin.v2.json
@@ -1803,7 +1803,7 @@
       }
     }
   },
-  "revision": "20210416",
+  "revision": "20210504",
   "rootUrl": "https://bigtableadmin.googleapis.com/",
   "schemas": {
     "AppProfile": {
diff --git a/googleapiclient/discovery_cache/documents/binaryauthorization.v1.json b/googleapiclient/discovery_cache/documents/binaryauthorization.v1.json
index fe76956..94c2f92 100644
--- a/googleapiclient/discovery_cache/documents/binaryauthorization.v1.json
+++ b/googleapiclient/discovery_cache/documents/binaryauthorization.v1.json
@@ -551,7 +551,7 @@
       }
     }
   },
-  "revision": "20210501",
+  "revision": "20210507",
   "rootUrl": "https://binaryauthorization.googleapis.com/",
   "schemas": {
     "AdmissionRule": {
diff --git a/googleapiclient/discovery_cache/documents/binaryauthorization.v1beta1.json b/googleapiclient/discovery_cache/documents/binaryauthorization.v1beta1.json
index 7dc39b4..376a4c6 100644
--- a/googleapiclient/discovery_cache/documents/binaryauthorization.v1beta1.json
+++ b/googleapiclient/discovery_cache/documents/binaryauthorization.v1beta1.json
@@ -551,7 +551,7 @@
       }
     }
   },
-  "revision": "20210501",
+  "revision": "20210507",
   "rootUrl": "https://binaryauthorization.googleapis.com/",
   "schemas": {
     "AdmissionRule": {
diff --git a/googleapiclient/discovery_cache/documents/blogger.v2.json b/googleapiclient/discovery_cache/documents/blogger.v2.json
index f167aa9..ecca4e7 100644
--- a/googleapiclient/discovery_cache/documents/blogger.v2.json
+++ b/googleapiclient/discovery_cache/documents/blogger.v2.json
@@ -401,7 +401,7 @@
       }
     }
   },
-  "revision": "20210508",
+  "revision": "20210513",
   "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 9532954..6fdcdbc 100644
--- a/googleapiclient/discovery_cache/documents/blogger.v3.json
+++ b/googleapiclient/discovery_cache/documents/blogger.v3.json
@@ -1678,7 +1678,7 @@
       }
     }
   },
-  "revision": "20210508",
+  "revision": "20210513",
   "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 7b4ff70..7da409d 100644
--- a/googleapiclient/discovery_cache/documents/books.v1.json
+++ b/googleapiclient/discovery_cache/documents/books.v1.json
@@ -2671,7 +2671,7 @@
       }
     }
   },
-  "revision": "20210505",
+  "revision": "20210512",
   "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 a231a0c..098db65 100644
--- a/googleapiclient/discovery_cache/documents/calendar.v3.json
+++ b/googleapiclient/discovery_cache/documents/calendar.v3.json
@@ -1723,7 +1723,7 @@
       }
     }
   },
-  "revision": "20210501",
+  "revision": "20210511",
   "rootUrl": "https://www.googleapis.com/",
   "schemas": {
     "Acl": {
diff --git a/googleapiclient/discovery_cache/documents/chat.v1.json b/googleapiclient/discovery_cache/documents/chat.v1.json
index 8341241..be9d896 100644
--- a/googleapiclient/discovery_cache/documents/chat.v1.json
+++ b/googleapiclient/discovery_cache/documents/chat.v1.json
@@ -601,7 +601,7 @@
       }
     }
   },
-  "revision": "20210501",
+  "revision": "20210505",
   "rootUrl": "https://chat.googleapis.com/",
   "schemas": {
     "ActionParameter": {
diff --git a/googleapiclient/discovery_cache/documents/chromemanagement.v1.json b/googleapiclient/discovery_cache/documents/chromemanagement.v1.json
index e6f12cf..5bbccdb 100644
--- a/googleapiclient/discovery_cache/documents/chromemanagement.v1.json
+++ b/googleapiclient/discovery_cache/documents/chromemanagement.v1.json
@@ -142,7 +142,7 @@
                   "type": "integer"
                 },
                 "pageToken": {
-                  "description": "Token to specify the next page in the list.",
+                  "description": "Token to specify the page of the request to be returned.",
                   "location": "query",
                   "type": "string"
                 }
@@ -193,7 +193,7 @@
                   "type": "integer"
                 },
                 "pageToken": {
-                  "description": "Token to specify next page in the list.",
+                  "description": "Token to specify the page of the request to be returned.",
                   "location": "query",
                   "type": "string"
                 }
@@ -270,7 +270,7 @@
                   "type": "integer"
                 },
                 "pageToken": {
-                  "description": "Token to specify the next page in the list.",
+                  "description": "Token to specify the page of the request to be returned.",
                   "location": "query",
                   "type": "string"
                 }
@@ -288,7 +288,7 @@
       }
     }
   },
-  "revision": "20210506",
+  "revision": "20210513",
   "rootUrl": "https://chromemanagement.googleapis.com/",
   "schemas": {
     "GoogleChromeManagementV1BrowserVersion": {
@@ -370,7 +370,7 @@
           "type": "array"
         },
         "nextPageToken": {
-          "description": "Token to specify the next page in the list.",
+          "description": "Token to specify the next page of the request.",
           "type": "string"
         },
         "totalSize": {
@@ -393,7 +393,7 @@
           "type": "array"
         },
         "nextPageToken": {
-          "description": "Token to specify next page in the list.",
+          "description": "Token to specify the next page of the request.",
           "type": "string"
         },
         "totalSize": {
@@ -433,7 +433,7 @@
           "type": "array"
         },
         "nextPageToken": {
-          "description": "Token to specify the next page in the list.",
+          "description": "Token to specify the next page of the request.",
           "type": "string"
         },
         "totalSize": {
diff --git a/googleapiclient/discovery_cache/documents/chromepolicy.v1.json b/googleapiclient/discovery_cache/documents/chromepolicy.v1.json
index 78f1c90..833001f 100644
--- a/googleapiclient/discovery_cache/documents/chromepolicy.v1.json
+++ b/googleapiclient/discovery_cache/documents/chromepolicy.v1.json
@@ -324,7 +324,7 @@
       }
     }
   },
-  "revision": "20210506",
+  "revision": "20210513",
   "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 302a826..2fa80f4 100644
--- a/googleapiclient/discovery_cache/documents/chromeuxreport.v1.json
+++ b/googleapiclient/discovery_cache/documents/chromeuxreport.v1.json
@@ -116,7 +116,7 @@
       }
     }
   },
-  "revision": "20210506",
+  "revision": "20210513",
   "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 bbd1e76..34060f6 100644
--- a/googleapiclient/discovery_cache/documents/classroom.v1.json
+++ b/googleapiclient/discovery_cache/documents/classroom.v1.json
@@ -2400,7 +2400,7 @@
       }
     }
   },
-  "revision": "20210505",
+  "revision": "20210511",
   "rootUrl": "https://classroom.googleapis.com/",
   "schemas": {
     "Announcement": {
diff --git a/googleapiclient/discovery_cache/documents/cloudasset.v1.json b/googleapiclient/discovery_cache/documents/cloudasset.v1.json
index cc0e86f..7ec77ac 100644
--- a/googleapiclient/discovery_cache/documents/cloudasset.v1.json
+++ b/googleapiclient/discovery_cache/documents/cloudasset.v1.json
@@ -105,6 +105,79 @@
   },
   "protocol": "rest",
   "resources": {
+    "assets": {
+      "methods": {
+        "list": {
+          "description": "Lists assets with time and resource types and returns paged results in response.",
+          "flatPath": "v1/{v1Id}/{v1Id1}/assets",
+          "httpMethod": "GET",
+          "id": "cloudasset.assets.list",
+          "parameterOrder": [
+            "parent"
+          ],
+          "parameters": {
+            "assetTypes": {
+              "description": "A list of asset types to take a snapshot for. For example: \"compute.googleapis.com/Disk\". Regular expression is also supported. For example: * \"compute.googleapis.com.*\" snapshots resources whose asset type starts with \"compute.googleapis.com\". * \".*Instance\" snapshots resources whose asset type ends with \"Instance\". * \".*Instance.*\" snapshots resources whose asset type contains \"Instance\". See [RE2](https://github.com/google/re2/wiki/Syntax) for all supported regular expression syntax. If the regular expression does not match any supported asset type, an INVALID_ARGUMENT error will be returned. If specified, only matching assets will be returned, otherwise, it will snapshot all asset types. See [Introduction to Cloud Asset Inventory](https://cloud.google.com/asset-inventory/docs/overview) for all supported asset types.",
+              "location": "query",
+              "repeated": true,
+              "type": "string"
+            },
+            "contentType": {
+              "description": "Asset content type. If not specified, no content but the asset name will be returned.",
+              "enum": [
+                "CONTENT_TYPE_UNSPECIFIED",
+                "RESOURCE",
+                "IAM_POLICY",
+                "ORG_POLICY",
+                "ACCESS_POLICY",
+                "OS_INVENTORY"
+              ],
+              "enumDescriptions": [
+                "Unspecified content type.",
+                "Resource metadata.",
+                "The actual IAM policy set on a resource.",
+                "The Cloud Organization Policy set on an asset.",
+                "The Cloud Access context manager Policy set on an asset.",
+                "The runtime OS Inventory information."
+              ],
+              "location": "query",
+              "type": "string"
+            },
+            "pageSize": {
+              "description": "The maximum number of assets to be returned in a single response. Default is 100, minimum is 1, and maximum is 1000.",
+              "format": "int32",
+              "location": "query",
+              "type": "integer"
+            },
+            "pageToken": {
+              "description": "The `next_page_token` returned from the previous `ListAssetsResponse`, or unspecified for the first `ListAssetsRequest`. It is a continuation of a prior `ListAssets` call, and the API should return the next page of assets.",
+              "location": "query",
+              "type": "string"
+            },
+            "parent": {
+              "description": "Required. Name of the organization or project the assets belong to. Format: \"organizations/[organization-number]\" (such as \"organizations/123\"), \"projects/[project-number]\" (such as \"projects/my-project-id\"), or \"projects/[project-id]\" (such as \"projects/12345\").",
+              "location": "path",
+              "pattern": "^[^/]+/[^/]+$",
+              "required": true,
+              "type": "string"
+            },
+            "readTime": {
+              "description": "Timestamp to take an asset snapshot. This can only be set to a timestamp between the current time and the current time minus 35 days (inclusive). If not specified, the current time will be used. Due to delays in resource data collection and indexing, there is a volatile window during which running the same query may get different results.",
+              "format": "google-datetime",
+              "location": "query",
+              "type": "string"
+            }
+          },
+          "path": "v1/{+parent}/assets",
+          "response": {
+            "$ref": "ListAssetsResponse"
+          },
+          "scopes": [
+            "https://www.googleapis.com/auth/cloud-platform"
+          ]
+        }
+      }
+    },
     "feeds": {
       "methods": {
         "create": {
@@ -576,7 +649,7 @@
       }
     }
   },
-  "revision": "20210430",
+  "revision": "20210507",
   "rootUrl": "https://cloudasset.googleapis.com/",
   "schemas": {
     "AccessSelector": {
@@ -2234,6 +2307,29 @@
       },
       "type": "object"
     },
+    "ListAssetsResponse": {
+      "description": "ListAssets response.",
+      "id": "ListAssetsResponse",
+      "properties": {
+        "assets": {
+          "description": "Assets.",
+          "items": {
+            "$ref": "Asset"
+          },
+          "type": "array"
+        },
+        "nextPageToken": {
+          "description": "Token to retrieve the next page of results. It expires 72 hours after the page token for the first page is generated. Set to empty if there are no remaining results.",
+          "type": "string"
+        },
+        "readTime": {
+          "description": "Time the snapshot was taken.",
+          "format": "google-datetime",
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
     "ListFeedsResponse": {
       "id": "ListFeedsResponse",
       "properties": {
@@ -2500,7 +2596,7 @@
           "type": "string"
         },
         "createTime": {
-          "description": "The create timestamp of this resource, at which the resource was created. The granularity is in seconds. Timestamp.nanos will always be 0. This field is available only when the resource's proto contains it. To search against `create_time`: * use a field query (value in seconds). Example: `createTime >= 1594294238`",
+          "description": "The create timestamp of this resource, at which the resource was created. The granularity is in seconds. Timestamp.nanos will always be 0. This field is available only when the resource's proto contains it. To search against `create_time`: * use a field query. - value in seconds since unix epoch. Example: `createTime > 1609459200` - value in date string. Example: `createTime > 2021-01-01` - value in date-time string (must be quoted). Example: `createTime > \"2021-01-01T00:00:00\"`",
           "format": "google-datetime",
           "type": "string"
         },
@@ -2566,7 +2662,7 @@
           "type": "string"
         },
         "updateTime": {
-          "description": "The last update timestamp of this resource, at which the resource was last modified or deleted. The granularity is in seconds. Timestamp.nanos will always be 0. This field is available only when the resource's proto contains it. To search against `update_time`: * use a field query (value in seconds). Example: `updateTime < 1594294238`",
+          "description": "The last update timestamp of this resource, at which the resource was last modified or deleted. The granularity is in seconds. Timestamp.nanos will always be 0. This field is available only when the resource's proto contains it. To search against `update_time`: * use a field query. - value in seconds since unix epoch. Example: `updateTime < 1609459200` - value in date string. Example: `updateTime < 2021-01-01` - value in date-time string (must be quoted). Example: `updateTime < \"2021-01-01T00:00:00\"`",
           "format": "google-datetime",
           "type": "string"
         }
diff --git a/googleapiclient/discovery_cache/documents/cloudasset.v1beta1.json b/googleapiclient/discovery_cache/documents/cloudasset.v1beta1.json
index 6dd3f28..b935a34 100644
--- a/googleapiclient/discovery_cache/documents/cloudasset.v1beta1.json
+++ b/googleapiclient/discovery_cache/documents/cloudasset.v1beta1.json
@@ -411,7 +411,7 @@
       }
     }
   },
-  "revision": "20210430",
+  "revision": "20210507",
   "rootUrl": "https://cloudasset.googleapis.com/",
   "schemas": {
     "AnalyzeIamPolicyLongrunningResponse": {
diff --git a/googleapiclient/discovery_cache/documents/cloudasset.v1p1beta1.json b/googleapiclient/discovery_cache/documents/cloudasset.v1p1beta1.json
index 6df2843..d95df46 100644
--- a/googleapiclient/discovery_cache/documents/cloudasset.v1p1beta1.json
+++ b/googleapiclient/discovery_cache/documents/cloudasset.v1p1beta1.json
@@ -207,7 +207,7 @@
       }
     }
   },
-  "revision": "20210430",
+  "revision": "20210507",
   "rootUrl": "https://cloudasset.googleapis.com/",
   "schemas": {
     "AnalyzeIamPolicyLongrunningResponse": {
diff --git a/googleapiclient/discovery_cache/documents/cloudasset.v1p4beta1.json b/googleapiclient/discovery_cache/documents/cloudasset.v1p4beta1.json
index bbd6666..c123ce3 100644
--- a/googleapiclient/discovery_cache/documents/cloudasset.v1p4beta1.json
+++ b/googleapiclient/discovery_cache/documents/cloudasset.v1p4beta1.json
@@ -221,7 +221,7 @@
       }
     }
   },
-  "revision": "20210430",
+  "revision": "20210507",
   "rootUrl": "https://cloudasset.googleapis.com/",
   "schemas": {
     "AccessSelector": {
diff --git a/googleapiclient/discovery_cache/documents/cloudasset.v1p5beta1.json b/googleapiclient/discovery_cache/documents/cloudasset.v1p5beta1.json
index 92f7420..84665e8 100644
--- a/googleapiclient/discovery_cache/documents/cloudasset.v1p5beta1.json
+++ b/googleapiclient/discovery_cache/documents/cloudasset.v1p5beta1.json
@@ -177,7 +177,7 @@
       }
     }
   },
-  "revision": "20210430",
+  "revision": "20210507",
   "rootUrl": "https://cloudasset.googleapis.com/",
   "schemas": {
     "AnalyzeIamPolicyLongrunningResponse": {
diff --git a/googleapiclient/discovery_cache/documents/cloudasset.v1p7beta1.json b/googleapiclient/discovery_cache/documents/cloudasset.v1p7beta1.json
index 668cdc1..710e534 100644
--- a/googleapiclient/discovery_cache/documents/cloudasset.v1p7beta1.json
+++ b/googleapiclient/discovery_cache/documents/cloudasset.v1p7beta1.json
@@ -167,7 +167,7 @@
       }
     }
   },
-  "revision": "20210430",
+  "revision": "20210507",
   "rootUrl": "https://cloudasset.googleapis.com/",
   "schemas": {
     "AnalyzeIamPolicyLongrunningResponse": {
diff --git a/googleapiclient/discovery_cache/documents/cloudbuild.v1.json b/googleapiclient/discovery_cache/documents/cloudbuild.v1.json
index 527d993..7495691 100644
--- a/googleapiclient/discovery_cache/documents/cloudbuild.v1.json
+++ b/googleapiclient/discovery_cache/documents/cloudbuild.v1.json
@@ -819,7 +819,7 @@
       }
     }
   },
-  "revision": "20210501",
+  "revision": "20210511",
   "rootUrl": "https://cloudbuild.googleapis.com/",
   "schemas": {
     "ArtifactObjects": {
@@ -1046,6 +1046,14 @@
           "description": "Output only. Stores timing information for phases of the build. Valid keys are: * BUILD: time to execute all build steps * PUSH: time to push all specified images. * FETCHSOURCE: time to fetch source. If the build does not specify source or images, these keys will not be included.",
           "readOnly": true,
           "type": "object"
+        },
+        "warnings": {
+          "description": "Output only. Non-fatal problems encountered during the execution of the build.",
+          "items": {
+            "$ref": "Warning"
+          },
+          "readOnly": true,
+          "type": "array"
         }
       },
       "type": "object"
@@ -2176,6 +2184,33 @@
         }
       },
       "type": "object"
+    },
+    "Warning": {
+      "description": "A non-fatal problem encountered during the execution of the build.",
+      "id": "Warning",
+      "properties": {
+        "priority": {
+          "description": "The priority for this warning.",
+          "enum": [
+            "PRIORITY_UNSPECIFIED",
+            "INFO",
+            "WARNING",
+            "ALERT"
+          ],
+          "enumDescriptions": [
+            "Should not be used.",
+            "e.g. deprecation warnings and alternative feature highlights.",
+            "e.g. automated detection of possible issues with the build.",
+            "e.g. alerts that a feature used in the build is pending removal"
+          ],
+          "type": "string"
+        },
+        "text": {
+          "description": "Explanation of the warning generated.",
+          "type": "string"
+        }
+      },
+      "type": "object"
     }
   },
   "servicePath": "",
diff --git a/googleapiclient/discovery_cache/documents/cloudbuild.v1alpha1.json b/googleapiclient/discovery_cache/documents/cloudbuild.v1alpha1.json
index 6b13ab3..0315649 100644
--- a/googleapiclient/discovery_cache/documents/cloudbuild.v1alpha1.json
+++ b/googleapiclient/discovery_cache/documents/cloudbuild.v1alpha1.json
@@ -306,7 +306,7 @@
       }
     }
   },
-  "revision": "20210501",
+  "revision": "20210511",
   "rootUrl": "https://cloudbuild.googleapis.com/",
   "schemas": {
     "ArtifactObjects": {
@@ -533,6 +533,14 @@
           "description": "Output only. Stores timing information for phases of the build. Valid keys are: * BUILD: time to execute all build steps * PUSH: time to push all specified images. * FETCHSOURCE: time to fetch source. If the build does not specify source or images, these keys will not be included.",
           "readOnly": true,
           "type": "object"
+        },
+        "warnings": {
+          "description": "Output only. Non-fatal problems encountered during the execution of the build.",
+          "items": {
+            "$ref": "Warning"
+          },
+          "readOnly": true,
+          "type": "array"
         }
       },
       "type": "object"
@@ -1394,6 +1402,33 @@
       },
       "type": "object"
     },
+    "Warning": {
+      "description": "A non-fatal problem encountered during the execution of the build.",
+      "id": "Warning",
+      "properties": {
+        "priority": {
+          "description": "The priority for this warning.",
+          "enum": [
+            "PRIORITY_UNSPECIFIED",
+            "INFO",
+            "WARNING",
+            "ALERT"
+          ],
+          "enumDescriptions": [
+            "Should not be used.",
+            "e.g. deprecation warnings and alternative feature highlights.",
+            "e.g. automated detection of possible issues with the build.",
+            "e.g. alerts that a feature used in the build is pending removal"
+          ],
+          "type": "string"
+        },
+        "text": {
+          "description": "Explanation of the warning generated.",
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
     "WorkerConfig": {
       "description": "WorkerConfig defines the configuration to be used for a creating workers in the pool.",
       "id": "WorkerConfig",
diff --git a/googleapiclient/discovery_cache/documents/cloudbuild.v1alpha2.json b/googleapiclient/discovery_cache/documents/cloudbuild.v1alpha2.json
index 80e0721..5f19e07 100644
--- a/googleapiclient/discovery_cache/documents/cloudbuild.v1alpha2.json
+++ b/googleapiclient/discovery_cache/documents/cloudbuild.v1alpha2.json
@@ -317,7 +317,7 @@
       }
     }
   },
-  "revision": "20210501",
+  "revision": "20210511",
   "rootUrl": "https://cloudbuild.googleapis.com/",
   "schemas": {
     "ArtifactObjects": {
@@ -544,6 +544,14 @@
           "description": "Output only. Stores timing information for phases of the build. Valid keys are: * BUILD: time to execute all build steps * PUSH: time to push all specified images. * FETCHSOURCE: time to fetch source. If the build does not specify source or images, these keys will not be included.",
           "readOnly": true,
           "type": "object"
+        },
+        "warnings": {
+          "description": "Output only. Non-fatal problems encountered during the execution of the build.",
+          "items": {
+            "$ref": "Warning"
+          },
+          "readOnly": true,
+          "type": "array"
         }
       },
       "type": "object"
@@ -1397,6 +1405,33 @@
       },
       "type": "object"
     },
+    "Warning": {
+      "description": "A non-fatal problem encountered during the execution of the build.",
+      "id": "Warning",
+      "properties": {
+        "priority": {
+          "description": "The priority for this warning.",
+          "enum": [
+            "PRIORITY_UNSPECIFIED",
+            "INFO",
+            "WARNING",
+            "ALERT"
+          ],
+          "enumDescriptions": [
+            "Should not be used.",
+            "e.g. deprecation warnings and alternative feature highlights.",
+            "e.g. automated detection of possible issues with the build.",
+            "e.g. alerts that a feature used in the build is pending removal"
+          ],
+          "type": "string"
+        },
+        "text": {
+          "description": "Explanation of the warning generated.",
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
     "WorkerConfig": {
       "description": "WorkerConfig defines the configuration to be used for a creating workers in the pool.",
       "id": "WorkerConfig",
diff --git a/googleapiclient/discovery_cache/documents/cloudbuild.v1beta1.json b/googleapiclient/discovery_cache/documents/cloudbuild.v1beta1.json
index 2f06368..f1ddaae 100644
--- a/googleapiclient/discovery_cache/documents/cloudbuild.v1beta1.json
+++ b/googleapiclient/discovery_cache/documents/cloudbuild.v1beta1.json
@@ -317,7 +317,7 @@
       }
     }
   },
-  "revision": "20210501",
+  "revision": "20210511",
   "rootUrl": "https://cloudbuild.googleapis.com/",
   "schemas": {
     "ArtifactObjects": {
@@ -544,6 +544,14 @@
           "description": "Output only. Stores timing information for phases of the build. Valid keys are: * BUILD: time to execute all build steps * PUSH: time to push all specified images. * FETCHSOURCE: time to fetch source. If the build does not specify source or images, these keys will not be included.",
           "readOnly": true,
           "type": "object"
+        },
+        "warnings": {
+          "description": "Output only. Non-fatal problems encountered during the execution of the build.",
+          "items": {
+            "$ref": "Warning"
+          },
+          "readOnly": true,
+          "type": "array"
         }
       },
       "type": "object"
@@ -1397,6 +1405,33 @@
       },
       "type": "object"
     },
+    "Warning": {
+      "description": "A non-fatal problem encountered during the execution of the build.",
+      "id": "Warning",
+      "properties": {
+        "priority": {
+          "description": "The priority for this warning.",
+          "enum": [
+            "PRIORITY_UNSPECIFIED",
+            "INFO",
+            "WARNING",
+            "ALERT"
+          ],
+          "enumDescriptions": [
+            "Should not be used.",
+            "e.g. deprecation warnings and alternative feature highlights.",
+            "e.g. automated detection of possible issues with the build.",
+            "e.g. alerts that a feature used in the build is pending removal"
+          ],
+          "type": "string"
+        },
+        "text": {
+          "description": "Explanation of the warning generated.",
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
     "WorkerConfig": {
       "description": "Defines the configuration to be used for creating workers in the pool.",
       "id": "WorkerConfig",
diff --git a/googleapiclient/discovery_cache/documents/cloudchannel.v1.json b/googleapiclient/discovery_cache/documents/cloudchannel.v1.json
index 8f01b15..e7792ec 100644
--- a/googleapiclient/discovery_cache/documents/cloudchannel.v1.json
+++ b/googleapiclient/discovery_cache/documents/cloudchannel.v1.json
@@ -1533,7 +1533,7 @@
       }
     }
   },
-  "revision": "20210506",
+  "revision": "20210513",
   "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 2b0f819..d4a1b82 100644
--- a/googleapiclient/discovery_cache/documents/clouddebugger.v2.json
+++ b/googleapiclient/discovery_cache/documents/clouddebugger.v2.json
@@ -448,7 +448,7 @@
       }
     }
   },
-  "revision": "20210430",
+  "revision": "20210507",
   "rootUrl": "https://clouddebugger.googleapis.com/",
   "schemas": {
     "AliasContext": {
diff --git a/googleapiclient/discovery_cache/documents/clouderrorreporting.v1beta1.json b/googleapiclient/discovery_cache/documents/clouderrorreporting.v1beta1.json
index 1e29608..054fde1 100644
--- a/googleapiclient/discovery_cache/documents/clouderrorreporting.v1beta1.json
+++ b/googleapiclient/discovery_cache/documents/clouderrorreporting.v1beta1.json
@@ -430,7 +430,7 @@
       }
     }
   },
-  "revision": "20210428",
+  "revision": "20210506",
   "rootUrl": "https://clouderrorreporting.googleapis.com/",
   "schemas": {
     "DeleteEventsResponse": {
diff --git a/googleapiclient/discovery_cache/documents/cloudfunctions.v1.json b/googleapiclient/discovery_cache/documents/cloudfunctions.v1.json
index d59de1c..68a5d37 100644
--- a/googleapiclient/discovery_cache/documents/cloudfunctions.v1.json
+++ b/googleapiclient/discovery_cache/documents/cloudfunctions.v1.json
@@ -546,7 +546,7 @@
       }
     }
   },
-  "revision": "20210427",
+  "revision": "20210506",
   "rootUrl": "https://cloudfunctions.googleapis.com/",
   "schemas": {
     "AuditConfig": {
diff --git a/googleapiclient/discovery_cache/documents/cloudiot.v1.json b/googleapiclient/discovery_cache/documents/cloudiot.v1.json
index 5d9d3af..ea6f328 100644
--- a/googleapiclient/discovery_cache/documents/cloudiot.v1.json
+++ b/googleapiclient/discovery_cache/documents/cloudiot.v1.json
@@ -938,7 +938,7 @@
       }
     }
   },
-  "revision": "20210427",
+  "revision": "20210506",
   "rootUrl": "https://cloudiot.googleapis.com/",
   "schemas": {
     "BindDeviceToGatewayRequest": {
diff --git a/googleapiclient/discovery_cache/documents/cloudprofiler.v2.json b/googleapiclient/discovery_cache/documents/cloudprofiler.v2.json
index 52314ab..1826945 100644
--- a/googleapiclient/discovery_cache/documents/cloudprofiler.v2.json
+++ b/googleapiclient/discovery_cache/documents/cloudprofiler.v2.json
@@ -216,7 +216,7 @@
       }
     }
   },
-  "revision": "20210501",
+  "revision": "20210508",
   "rootUrl": "https://cloudprofiler.googleapis.com/",
   "schemas": {
     "CreateProfileRequest": {
diff --git a/googleapiclient/discovery_cache/documents/cloudscheduler.v1.json b/googleapiclient/discovery_cache/documents/cloudscheduler.v1.json
index 31e07eb..110db56 100644
--- a/googleapiclient/discovery_cache/documents/cloudscheduler.v1.json
+++ b/googleapiclient/discovery_cache/documents/cloudscheduler.v1.json
@@ -418,7 +418,7 @@
       }
     }
   },
-  "revision": "20210420",
+  "revision": "20210501",
   "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 23cf827..0d73fd3 100644
--- a/googleapiclient/discovery_cache/documents/cloudscheduler.v1beta1.json
+++ b/googleapiclient/discovery_cache/documents/cloudscheduler.v1beta1.json
@@ -428,7 +428,7 @@
       }
     }
   },
-  "revision": "20210420",
+  "revision": "20210501",
   "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 516c8c5..08b47d9 100644
--- a/googleapiclient/discovery_cache/documents/cloudsearch.v1.json
+++ b/googleapiclient/discovery_cache/documents/cloudsearch.v1.json
@@ -1916,7 +1916,7 @@
       }
     }
   },
-  "revision": "20210427",
+  "revision": "20210504",
   "rootUrl": "https://cloudsearch.googleapis.com/",
   "schemas": {
     "AuditLoggingSettings": {
diff --git a/googleapiclient/discovery_cache/documents/cloudshell.v1.json b/googleapiclient/discovery_cache/documents/cloudshell.v1.json
index c0a50c7..97f31ad 100644
--- a/googleapiclient/discovery_cache/documents/cloudshell.v1.json
+++ b/googleapiclient/discovery_cache/documents/cloudshell.v1.json
@@ -374,7 +374,7 @@
       }
     }
   },
-  "revision": "20210503",
+  "revision": "20210510",
   "rootUrl": "https://cloudshell.googleapis.com/",
   "schemas": {
     "AddPublicKeyMetadata": {
diff --git a/googleapiclient/discovery_cache/documents/cloudtasks.v2.json b/googleapiclient/discovery_cache/documents/cloudtasks.v2.json
index fdc88d7..dd3896e 100644
--- a/googleapiclient/discovery_cache/documents/cloudtasks.v2.json
+++ b/googleapiclient/discovery_cache/documents/cloudtasks.v2.json
@@ -685,7 +685,7 @@
       }
     }
   },
-  "revision": "20210426",
+  "revision": "20210505",
   "rootUrl": "https://cloudtasks.googleapis.com/",
   "schemas": {
     "AppEngineHttpRequest": {
diff --git a/googleapiclient/discovery_cache/documents/cloudtasks.v2beta2.json b/googleapiclient/discovery_cache/documents/cloudtasks.v2beta2.json
index d43d8b6..67fb95d 100644
--- a/googleapiclient/discovery_cache/documents/cloudtasks.v2beta2.json
+++ b/googleapiclient/discovery_cache/documents/cloudtasks.v2beta2.json
@@ -809,7 +809,7 @@
       }
     }
   },
-  "revision": "20210426",
+  "revision": "20210505",
   "rootUrl": "https://cloudtasks.googleapis.com/",
   "schemas": {
     "AcknowledgeTaskRequest": {
diff --git a/googleapiclient/discovery_cache/documents/cloudtasks.v2beta3.json b/googleapiclient/discovery_cache/documents/cloudtasks.v2beta3.json
index 554207a..1b666fe 100644
--- a/googleapiclient/discovery_cache/documents/cloudtasks.v2beta3.json
+++ b/googleapiclient/discovery_cache/documents/cloudtasks.v2beta3.json
@@ -697,7 +697,7 @@
       }
     }
   },
-  "revision": "20210426",
+  "revision": "20210505",
   "rootUrl": "https://cloudtasks.googleapis.com/",
   "schemas": {
     "AppEngineHttpQueue": {
diff --git a/googleapiclient/discovery_cache/documents/composer.v1.json b/googleapiclient/discovery_cache/documents/composer.v1.json
index 7f6882d..482ad0c 100644
--- a/googleapiclient/discovery_cache/documents/composer.v1.json
+++ b/googleapiclient/discovery_cache/documents/composer.v1.json
@@ -406,7 +406,7 @@
       }
     }
   },
-  "revision": "20210427",
+  "revision": "20210510",
   "rootUrl": "https://composer.googleapis.com/",
   "schemas": {
     "AllowedIpRange": {
diff --git a/googleapiclient/discovery_cache/documents/composer.v1beta1.json b/googleapiclient/discovery_cache/documents/composer.v1beta1.json
index ac04de4..5905212 100644
--- a/googleapiclient/discovery_cache/documents/composer.v1beta1.json
+++ b/googleapiclient/discovery_cache/documents/composer.v1beta1.json
@@ -434,7 +434,7 @@
       }
     }
   },
-  "revision": "20210427",
+  "revision": "20210510",
   "rootUrl": "https://composer.googleapis.com/",
   "schemas": {
     "AllowedIpRange": {
diff --git a/googleapiclient/discovery_cache/documents/compute.alpha.json b/googleapiclient/discovery_cache/documents/compute.alpha.json
index 3df25bd..b9bebaf 100644
--- a/googleapiclient/discovery_cache/documents/compute.alpha.json
+++ b/googleapiclient/discovery_cache/documents/compute.alpha.json
@@ -29,7 +29,7 @@
   "description": "Creates and runs virtual machines on Google Cloud Platform.",
   "discoveryVersion": "v1",
   "documentationLink": "https://developers.google.com/compute/docs/reference/latest/",
-  "etag": "\"uWj2hSb4GVjzdDlAnRd2gbM1ZQ8/7OA9WRBh4HiOx7jUxLhYlvmh-JU\"",
+  "etag": "\"uWj2hSb4GVjzdDlAnRd2gbM1ZQ8/TmUt2NFOg_XZQOZew3cS35WAWvY\"",
   "icons": {
     "x16": "https://www.google.com/images/icons/product/compute_engine-16.png",
     "x32": "https://www.google.com/images/icons/product/compute_engine-32.png"
@@ -4441,6 +4441,351 @@
         }
       }
     },
+    "futureReservations": {
+      "methods": {
+        "aggregatedList": {
+          "description": "Retrieves an aggregated list of future reservations.",
+          "httpMethod": "GET",
+          "id": "compute.futureReservations.aggregatedList",
+          "parameterOrder": [
+            "project"
+          ],
+          "parameters": {
+            "filter": {
+              "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ```",
+              "location": "query",
+              "type": "string"
+            },
+            "includeAllScopes": {
+              "description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.",
+              "location": "query",
+              "type": "boolean"
+            },
+            "maxResults": {
+              "default": "500",
+              "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)",
+              "format": "uint32",
+              "location": "query",
+              "minimum": "0",
+              "type": "integer"
+            },
+            "orderBy": {
+              "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.",
+              "location": "query",
+              "type": "string"
+            },
+            "pageToken": {
+              "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.",
+              "location": "query",
+              "type": "string"
+            },
+            "project": {
+              "description": "Project ID for this request.",
+              "location": "path",
+              "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+              "required": true,
+              "type": "string"
+            },
+            "returnPartialSuccess": {
+              "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false.",
+              "location": "query",
+              "type": "boolean"
+            }
+          },
+          "path": "projects/{project}/aggregated/futureReservations",
+          "response": {
+            "$ref": "FutureReservationsAggregatedListResponse"
+          },
+          "scopes": [
+            "https://www.googleapis.com/auth/cloud-platform",
+            "https://www.googleapis.com/auth/compute",
+            "https://www.googleapis.com/auth/compute.readonly"
+          ]
+        },
+        "cancel": {
+          "description": "Cancel the specified future reservation.",
+          "httpMethod": "POST",
+          "id": "compute.futureReservations.cancel",
+          "parameterOrder": [
+            "project",
+            "zone",
+            "futureReservation"
+          ],
+          "parameters": {
+            "futureReservation": {
+              "description": "Name of the future reservation to retrieve. Name should conform to RFC1035.",
+              "location": "path",
+              "required": true,
+              "type": "string"
+            },
+            "project": {
+              "description": "Project ID for this request.",
+              "location": "path",
+              "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+              "required": true,
+              "type": "string"
+            },
+            "requestId": {
+              "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).",
+              "location": "query",
+              "type": "string"
+            },
+            "zone": {
+              "description": "Name of the zone for this request. Name should conform to RFC1035.",
+              "location": "path",
+              "required": true,
+              "type": "string"
+            }
+          },
+          "path": "projects/{project}/zones/{zone}/futureReservations/{futureReservation}/cancel",
+          "response": {
+            "$ref": "Operation"
+          },
+          "scopes": [
+            "https://www.googleapis.com/auth/cloud-platform",
+            "https://www.googleapis.com/auth/compute"
+          ]
+        },
+        "delete": {
+          "description": "Deletes the specified future reservation.",
+          "httpMethod": "DELETE",
+          "id": "compute.futureReservations.delete",
+          "parameterOrder": [
+            "project",
+            "zone",
+            "futureReservation"
+          ],
+          "parameters": {
+            "futureReservation": {
+              "description": "Name of the future reservation to retrieve. Name should conform to RFC1035.",
+              "location": "path",
+              "required": true,
+              "type": "string"
+            },
+            "project": {
+              "description": "Project ID for this request.",
+              "location": "path",
+              "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+              "required": true,
+              "type": "string"
+            },
+            "requestId": {
+              "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).",
+              "location": "query",
+              "type": "string"
+            },
+            "zone": {
+              "description": "Name of the zone for this request. Name should conform to RFC1035.",
+              "location": "path",
+              "required": true,
+              "type": "string"
+            }
+          },
+          "path": "projects/{project}/zones/{zone}/futureReservations/{futureReservation}",
+          "response": {
+            "$ref": "Operation"
+          },
+          "scopes": [
+            "https://www.googleapis.com/auth/cloud-platform",
+            "https://www.googleapis.com/auth/compute"
+          ]
+        },
+        "get": {
+          "description": "Retrieves information about the specified future reservation.",
+          "httpMethod": "GET",
+          "id": "compute.futureReservations.get",
+          "parameterOrder": [
+            "project",
+            "zone",
+            "futureReservation"
+          ],
+          "parameters": {
+            "futureReservation": {
+              "description": "Name of the future reservation to retrieve. Name should conform to RFC1035.",
+              "location": "path",
+              "required": true,
+              "type": "string"
+            },
+            "project": {
+              "description": "Project ID for this request.",
+              "location": "path",
+              "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+              "required": true,
+              "type": "string"
+            },
+            "zone": {
+              "description": "Name of the zone for this request. Name should conform to RFC1035.",
+              "location": "path",
+              "required": true,
+              "type": "string"
+            }
+          },
+          "path": "projects/{project}/zones/{zone}/futureReservations/{futureReservation}",
+          "response": {
+            "$ref": "FutureReservation"
+          },
+          "scopes": [
+            "https://www.googleapis.com/auth/cloud-platform",
+            "https://www.googleapis.com/auth/compute",
+            "https://www.googleapis.com/auth/compute.readonly"
+          ]
+        },
+        "insert": {
+          "description": "Creates a new Future Reservation.",
+          "httpMethod": "POST",
+          "id": "compute.futureReservations.insert",
+          "parameterOrder": [
+            "project",
+            "zone"
+          ],
+          "parameters": {
+            "project": {
+              "description": "Project ID for this request.",
+              "location": "path",
+              "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+              "required": true,
+              "type": "string"
+            },
+            "requestId": {
+              "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).",
+              "location": "query",
+              "type": "string"
+            },
+            "zone": {
+              "description": "Name of the zone for this request. Name should conform to RFC1035.",
+              "location": "path",
+              "required": true,
+              "type": "string"
+            }
+          },
+          "path": "projects/{project}/zones/{zone}/futureReservations",
+          "request": {
+            "$ref": "FutureReservation"
+          },
+          "response": {
+            "$ref": "Operation"
+          },
+          "scopes": [
+            "https://www.googleapis.com/auth/cloud-platform",
+            "https://www.googleapis.com/auth/compute"
+          ]
+        },
+        "list": {
+          "description": "A list of all the future reservations that have been configured for the specified project in specified zone.",
+          "httpMethod": "GET",
+          "id": "compute.futureReservations.list",
+          "parameterOrder": [
+            "project",
+            "zone"
+          ],
+          "parameters": {
+            "filter": {
+              "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ```",
+              "location": "query",
+              "type": "string"
+            },
+            "maxResults": {
+              "default": "500",
+              "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)",
+              "format": "uint32",
+              "location": "query",
+              "minimum": "0",
+              "type": "integer"
+            },
+            "orderBy": {
+              "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.",
+              "location": "query",
+              "type": "string"
+            },
+            "pageToken": {
+              "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.",
+              "location": "query",
+              "type": "string"
+            },
+            "project": {
+              "description": "Project ID for this request.",
+              "location": "path",
+              "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+              "required": true,
+              "type": "string"
+            },
+            "returnPartialSuccess": {
+              "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false.",
+              "location": "query",
+              "type": "boolean"
+            },
+            "zone": {
+              "description": "Name of the zone for this request. Name should conform to RFC1035.",
+              "location": "path",
+              "required": true,
+              "type": "string"
+            }
+          },
+          "path": "projects/{project}/zones/{zone}/futureReservations",
+          "response": {
+            "$ref": "FutureReservationsListResponse"
+          },
+          "scopes": [
+            "https://www.googleapis.com/auth/cloud-platform",
+            "https://www.googleapis.com/auth/compute",
+            "https://www.googleapis.com/auth/compute.readonly"
+          ]
+        },
+        "update": {
+          "description": "Updates the specified future reservation.",
+          "httpMethod": "PATCH",
+          "id": "compute.futureReservations.update",
+          "parameterOrder": [
+            "project",
+            "zone",
+            "futureReservation"
+          ],
+          "parameters": {
+            "futureReservation": {
+              "description": "Name of the reservation to update. Name should conform to RFC1035.",
+              "location": "path",
+              "required": true,
+              "type": "string"
+            },
+            "paths": {
+              "description": "The set of field mask paths.",
+              "location": "query",
+              "repeated": true,
+              "type": "string"
+            },
+            "project": {
+              "description": "Project ID for this request.",
+              "location": "path",
+              "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+              "required": true,
+              "type": "string"
+            },
+            "requestId": {
+              "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).",
+              "location": "query",
+              "type": "string"
+            },
+            "zone": {
+              "description": "Name of the zone for this request. Name should conform to RFC1035.",
+              "location": "path",
+              "required": true,
+              "type": "string"
+            }
+          },
+          "path": "projects/{project}/zones/{zone}/futureReservations/{futureReservation}",
+          "request": {
+            "$ref": "FutureReservation"
+          },
+          "response": {
+            "$ref": "Operation"
+          },
+          "scopes": [
+            "https://www.googleapis.com/auth/cloud-platform",
+            "https://www.googleapis.com/auth/compute"
+          ]
+        }
+      }
+    },
     "globalAddresses": {
       "methods": {
         "delete": {
@@ -10232,7 +10577,7 @@
               "type": "string"
             },
             "secureTags": {
-              "description": "Secure tags to apply to this instance. These can be later modified by the update method. Maximum number of secure tags allowed is 300.",
+              "description": "Secure tags to apply to this instance. These can be later modified by the update method. Maximum number of secure tags allowed is 50.",
               "location": "query",
               "repeated": true,
               "type": "string"
@@ -11629,7 +11974,7 @@
               "type": "string"
             },
             "secureTags": {
-              "description": "Secure tags to apply to this instance. Maximum number of secure tags allowed is 300.",
+              "description": "Secure tags to apply to this instance. Maximum number of secure tags allowed is 50.",
               "location": "query",
               "repeated": true,
               "type": "string"
@@ -13803,6 +14148,258 @@
         }
       }
     },
+    "networkEdgeSecurityServices": {
+      "methods": {
+        "aggregatedList": {
+          "description": "Retrieves the list of all NetworkEdgeSecurityService resources available to the specified project.",
+          "httpMethod": "GET",
+          "id": "compute.networkEdgeSecurityServices.aggregatedList",
+          "parameterOrder": [
+            "project"
+          ],
+          "parameters": {
+            "filter": {
+              "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ```",
+              "location": "query",
+              "type": "string"
+            },
+            "includeAllScopes": {
+              "description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.",
+              "location": "query",
+              "type": "boolean"
+            },
+            "maxResults": {
+              "default": "500",
+              "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)",
+              "format": "uint32",
+              "location": "query",
+              "minimum": "0",
+              "type": "integer"
+            },
+            "orderBy": {
+              "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.",
+              "location": "query",
+              "type": "string"
+            },
+            "pageToken": {
+              "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.",
+              "location": "query",
+              "type": "string"
+            },
+            "project": {
+              "description": "Name of the project scoping this request.",
+              "location": "path",
+              "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+              "required": true,
+              "type": "string"
+            },
+            "returnPartialSuccess": {
+              "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false.",
+              "location": "query",
+              "type": "boolean"
+            }
+          },
+          "path": "projects/{project}/aggregated/networkEdgeSecurityServices",
+          "response": {
+            "$ref": "NetworkEdgeSecurityServiceAggregatedList"
+          },
+          "scopes": [
+            "https://www.googleapis.com/auth/cloud-platform",
+            "https://www.googleapis.com/auth/compute",
+            "https://www.googleapis.com/auth/compute.readonly"
+          ]
+        },
+        "delete": {
+          "description": "Deletes the specified service.",
+          "httpMethod": "DELETE",
+          "id": "compute.networkEdgeSecurityServices.delete",
+          "parameterOrder": [
+            "project",
+            "region",
+            "networkEdgeSecurityService"
+          ],
+          "parameters": {
+            "networkEdgeSecurityService": {
+              "description": "Name of the network edge security service to delete.",
+              "location": "path",
+              "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}",
+              "required": true,
+              "type": "string"
+            },
+            "project": {
+              "description": "Project ID for this request.",
+              "location": "path",
+              "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+              "required": true,
+              "type": "string"
+            },
+            "region": {
+              "description": "Name of the region scoping this request.",
+              "location": "path",
+              "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+              "required": true,
+              "type": "string"
+            },
+            "requestId": {
+              "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).",
+              "location": "query",
+              "type": "string"
+            }
+          },
+          "path": "projects/{project}/regions/{region}/networkEdgeSecurityServices/{networkEdgeSecurityService}",
+          "response": {
+            "$ref": "Operation"
+          },
+          "scopes": [
+            "https://www.googleapis.com/auth/cloud-platform",
+            "https://www.googleapis.com/auth/compute"
+          ]
+        },
+        "get": {
+          "description": "Gets a specified NetworkEdgeSecurityService.",
+          "httpMethod": "GET",
+          "id": "compute.networkEdgeSecurityServices.get",
+          "parameterOrder": [
+            "project",
+            "region",
+            "networkEdgeSecurityService"
+          ],
+          "parameters": {
+            "networkEdgeSecurityService": {
+              "description": "Name of the network edge security service to get.",
+              "location": "path",
+              "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}",
+              "required": true,
+              "type": "string"
+            },
+            "project": {
+              "description": "Project ID for this request.",
+              "location": "path",
+              "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+              "required": true,
+              "type": "string"
+            },
+            "region": {
+              "description": "Name of the region scoping this request.",
+              "location": "path",
+              "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+              "required": true,
+              "type": "string"
+            }
+          },
+          "path": "projects/{project}/regions/{region}/networkEdgeSecurityServices/{networkEdgeSecurityService}",
+          "response": {
+            "$ref": "NetworkEdgeSecurityService"
+          },
+          "scopes": [
+            "https://www.googleapis.com/auth/cloud-platform",
+            "https://www.googleapis.com/auth/compute",
+            "https://www.googleapis.com/auth/compute.readonly"
+          ]
+        },
+        "insert": {
+          "description": "Creates a new service in the specified project using the data included in the request.",
+          "httpMethod": "POST",
+          "id": "compute.networkEdgeSecurityServices.insert",
+          "parameterOrder": [
+            "project",
+            "region"
+          ],
+          "parameters": {
+            "project": {
+              "description": "Project ID for this request.",
+              "location": "path",
+              "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+              "required": true,
+              "type": "string"
+            },
+            "region": {
+              "description": "Name of the region scoping this request.",
+              "location": "path",
+              "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+              "required": true,
+              "type": "string"
+            },
+            "requestId": {
+              "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).",
+              "location": "query",
+              "type": "string"
+            },
+            "validateOnly": {
+              "description": "If true, the request will not be committed.",
+              "location": "query",
+              "type": "boolean"
+            }
+          },
+          "path": "projects/{project}/regions/{region}/networkEdgeSecurityServices",
+          "request": {
+            "$ref": "NetworkEdgeSecurityService"
+          },
+          "response": {
+            "$ref": "Operation"
+          },
+          "scopes": [
+            "https://www.googleapis.com/auth/cloud-platform",
+            "https://www.googleapis.com/auth/compute"
+          ]
+        },
+        "patch": {
+          "description": "Patches the specified policy with the data included in the request.",
+          "httpMethod": "PATCH",
+          "id": "compute.networkEdgeSecurityServices.patch",
+          "parameterOrder": [
+            "project",
+            "region",
+            "networkEdgeSecurityService"
+          ],
+          "parameters": {
+            "networkEdgeSecurityService": {
+              "description": "Name of the network edge security service to update.",
+              "location": "path",
+              "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}",
+              "required": true,
+              "type": "string"
+            },
+            "paths": {
+              "description": "The set of field mask paths.",
+              "location": "query",
+              "repeated": true,
+              "type": "string"
+            },
+            "project": {
+              "description": "Project ID for this request.",
+              "location": "path",
+              "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+              "required": true,
+              "type": "string"
+            },
+            "region": {
+              "description": "Name of the region scoping this request.",
+              "location": "path",
+              "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+              "required": true,
+              "type": "string"
+            },
+            "requestId": {
+              "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).",
+              "location": "query",
+              "type": "string"
+            }
+          },
+          "path": "projects/{project}/regions/{region}/networkEdgeSecurityServices/{networkEdgeSecurityService}",
+          "request": {
+            "$ref": "NetworkEdgeSecurityService"
+          },
+          "response": {
+            "$ref": "Operation"
+          },
+          "scopes": [
+            "https://www.googleapis.com/auth/cloud-platform",
+            "https://www.googleapis.com/auth/compute"
+          ]
+        }
+      }
+    },
     "networkEndpointGroups": {
       "methods": {
         "aggregatedList": {
@@ -19638,6 +20235,61 @@
             "https://www.googleapis.com/auth/compute.readonly"
           ]
         },
+        "update": {
+          "description": "Updates the specified commitment with the data included in the request. Update is performed only on selected fields included as part of update-mask. Only the following fields can be modified: auto_renew.",
+          "httpMethod": "PATCH",
+          "id": "compute.regionCommitments.update",
+          "parameterOrder": [
+            "project",
+            "region",
+            "commitment"
+          ],
+          "parameters": {
+            "commitment": {
+              "description": "Name of the commitment for which auto renew is being updated.",
+              "location": "path",
+              "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}",
+              "required": true,
+              "type": "string"
+            },
+            "paths": {
+              "description": "The set of field mask paths.",
+              "location": "query",
+              "repeated": true,
+              "type": "string"
+            },
+            "project": {
+              "description": "Project ID for this request.",
+              "location": "path",
+              "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+              "required": true,
+              "type": "string"
+            },
+            "region": {
+              "description": "Name of the region for this request.",
+              "location": "path",
+              "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+              "required": true,
+              "type": "string"
+            },
+            "requestId": {
+              "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).",
+              "location": "query",
+              "type": "string"
+            }
+          },
+          "path": "projects/{project}/regions/{region}/commitments/{commitment}",
+          "request": {
+            "$ref": "Commitment"
+          },
+          "response": {
+            "$ref": "Operation"
+          },
+          "scopes": [
+            "https://www.googleapis.com/auth/cloud-platform",
+            "https://www.googleapis.com/auth/compute"
+          ]
+        },
         "updateReservations": {
           "description": "Transfers GPUs or local SSDs between reservations within commitments.",
           "httpMethod": "POST",
@@ -24981,6 +25633,255 @@
         }
       }
     },
+    "regionSecurityPolicies": {
+      "methods": {
+        "delete": {
+          "description": "Deletes the specified policy.",
+          "httpMethod": "DELETE",
+          "id": "compute.regionSecurityPolicies.delete",
+          "parameterOrder": [
+            "project",
+            "region",
+            "securityPolicy"
+          ],
+          "parameters": {
+            "project": {
+              "description": "Project ID for this request.",
+              "location": "path",
+              "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+              "required": true,
+              "type": "string"
+            },
+            "region": {
+              "description": "Name of the region scoping this request.",
+              "location": "path",
+              "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+              "required": true,
+              "type": "string"
+            },
+            "requestId": {
+              "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).",
+              "location": "query",
+              "type": "string"
+            },
+            "securityPolicy": {
+              "description": "Name of the security policy to delete.",
+              "location": "path",
+              "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}",
+              "required": true,
+              "type": "string"
+            }
+          },
+          "path": "projects/{project}/regions/{region}/securityPolicies/{securityPolicy}",
+          "response": {
+            "$ref": "Operation"
+          },
+          "scopes": [
+            "https://www.googleapis.com/auth/cloud-platform",
+            "https://www.googleapis.com/auth/compute"
+          ]
+        },
+        "get": {
+          "description": "List all of the ordered rules present in a single specified policy.",
+          "httpMethod": "GET",
+          "id": "compute.regionSecurityPolicies.get",
+          "parameterOrder": [
+            "project",
+            "region",
+            "securityPolicy"
+          ],
+          "parameters": {
+            "project": {
+              "description": "Project ID for this request.",
+              "location": "path",
+              "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+              "required": true,
+              "type": "string"
+            },
+            "region": {
+              "description": "Name of the region scoping this request.",
+              "location": "path",
+              "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+              "required": true,
+              "type": "string"
+            },
+            "securityPolicy": {
+              "description": "Name of the security policy to get.",
+              "location": "path",
+              "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}",
+              "required": true,
+              "type": "string"
+            }
+          },
+          "path": "projects/{project}/regions/{region}/securityPolicies/{securityPolicy}",
+          "response": {
+            "$ref": "SecurityPolicy"
+          },
+          "scopes": [
+            "https://www.googleapis.com/auth/cloud-platform",
+            "https://www.googleapis.com/auth/compute",
+            "https://www.googleapis.com/auth/compute.readonly"
+          ]
+        },
+        "insert": {
+          "description": "Creates a new policy in the specified project using the data included in the request.",
+          "httpMethod": "POST",
+          "id": "compute.regionSecurityPolicies.insert",
+          "parameterOrder": [
+            "project",
+            "region"
+          ],
+          "parameters": {
+            "project": {
+              "description": "Project ID for this request.",
+              "location": "path",
+              "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+              "required": true,
+              "type": "string"
+            },
+            "region": {
+              "description": "Name of the region scoping this request.",
+              "location": "path",
+              "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+              "required": true,
+              "type": "string"
+            },
+            "requestId": {
+              "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).",
+              "location": "query",
+              "type": "string"
+            },
+            "validateOnly": {
+              "description": "If true, the request will not be committed.",
+              "location": "query",
+              "type": "boolean"
+            }
+          },
+          "path": "projects/{project}/regions/{region}/securityPolicies",
+          "request": {
+            "$ref": "SecurityPolicy"
+          },
+          "response": {
+            "$ref": "Operation"
+          },
+          "scopes": [
+            "https://www.googleapis.com/auth/cloud-platform",
+            "https://www.googleapis.com/auth/compute"
+          ]
+        },
+        "list": {
+          "description": "List all the policies that have been configured for the specified project and region.",
+          "httpMethod": "GET",
+          "id": "compute.regionSecurityPolicies.list",
+          "parameterOrder": [
+            "project",
+            "region"
+          ],
+          "parameters": {
+            "filter": {
+              "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ```",
+              "location": "query",
+              "type": "string"
+            },
+            "maxResults": {
+              "default": "500",
+              "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)",
+              "format": "uint32",
+              "location": "query",
+              "minimum": "0",
+              "type": "integer"
+            },
+            "orderBy": {
+              "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.",
+              "location": "query",
+              "type": "string"
+            },
+            "pageToken": {
+              "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.",
+              "location": "query",
+              "type": "string"
+            },
+            "project": {
+              "description": "Project ID for this request.",
+              "location": "path",
+              "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+              "required": true,
+              "type": "string"
+            },
+            "region": {
+              "description": "Name of the region scoping this request.",
+              "location": "path",
+              "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+              "required": true,
+              "type": "string"
+            },
+            "returnPartialSuccess": {
+              "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false.",
+              "location": "query",
+              "type": "boolean"
+            }
+          },
+          "path": "projects/{project}/regions/{region}/securityPolicies",
+          "response": {
+            "$ref": "SecurityPolicyList"
+          },
+          "scopes": [
+            "https://www.googleapis.com/auth/cloud-platform",
+            "https://www.googleapis.com/auth/compute",
+            "https://www.googleapis.com/auth/compute.readonly"
+          ]
+        },
+        "patch": {
+          "description": "Patches the specified policy with the data included in the request.",
+          "httpMethod": "PATCH",
+          "id": "compute.regionSecurityPolicies.patch",
+          "parameterOrder": [
+            "project",
+            "region",
+            "securityPolicy"
+          ],
+          "parameters": {
+            "project": {
+              "description": "Project ID for this request.",
+              "location": "path",
+              "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+              "required": true,
+              "type": "string"
+            },
+            "region": {
+              "description": "Name of the region scoping this request.",
+              "location": "path",
+              "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+              "required": true,
+              "type": "string"
+            },
+            "requestId": {
+              "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.\n\nFor example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).",
+              "location": "query",
+              "type": "string"
+            },
+            "securityPolicy": {
+              "description": "Name of the security policy to update.",
+              "location": "path",
+              "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}",
+              "required": true,
+              "type": "string"
+            }
+          },
+          "path": "projects/{project}/regions/{region}/securityPolicies/{securityPolicy}",
+          "request": {
+            "$ref": "SecurityPolicy"
+          },
+          "response": {
+            "$ref": "Operation"
+          },
+          "scopes": [
+            "https://www.googleapis.com/auth/cloud-platform",
+            "https://www.googleapis.com/auth/compute"
+          ]
+        }
+      }
+    },
     "regionSslCertificates": {
       "methods": {
         "delete": {
@@ -28004,6 +28905,65 @@
             "https://www.googleapis.com/auth/compute"
           ]
         },
+        "aggregatedList": {
+          "description": "Retrieves the list of all SecurityPolicy resources, regional and global, available to the specified project.",
+          "httpMethod": "GET",
+          "id": "compute.securityPolicies.aggregatedList",
+          "parameterOrder": [
+            "project"
+          ],
+          "parameters": {
+            "filter": {
+              "description": "A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be either `=`, `!=`, `>`, or `<`.\n\nFor example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`.\n\nYou can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ```",
+              "location": "query",
+              "type": "string"
+            },
+            "includeAllScopes": {
+              "description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.",
+              "location": "query",
+              "type": "boolean"
+            },
+            "maxResults": {
+              "default": "500",
+              "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)",
+              "format": "uint32",
+              "location": "query",
+              "minimum": "0",
+              "type": "integer"
+            },
+            "orderBy": {
+              "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by `name` or `creationTimestamp desc` is supported.",
+              "location": "query",
+              "type": "string"
+            },
+            "pageToken": {
+              "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.",
+              "location": "query",
+              "type": "string"
+            },
+            "project": {
+              "description": "Name of the project scoping this request.",
+              "location": "path",
+              "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+              "required": true,
+              "type": "string"
+            },
+            "returnPartialSuccess": {
+              "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false.",
+              "location": "query",
+              "type": "boolean"
+            }
+          },
+          "path": "projects/{project}/aggregated/securityPolicies",
+          "response": {
+            "$ref": "SecurityPoliciesAggregatedList"
+          },
+          "scopes": [
+            "https://www.googleapis.com/auth/cloud-platform",
+            "https://www.googleapis.com/auth/compute",
+            "https://www.googleapis.com/auth/compute.readonly"
+          ]
+        },
         "delete": {
           "description": "Deletes the specified policy.",
           "httpMethod": "DELETE",
@@ -35621,7 +36581,7 @@
       }
     }
   },
-  "revision": "20210415",
+  "revision": "20210505",
   "rootUrl": "https://compute.googleapis.com/",
   "schemas": {
     "AcceleratorConfig": {
@@ -36646,33 +37606,6 @@
       },
       "type": "object"
     },
-    "AllocationShareSettings": {
-      "id": "AllocationShareSettings",
-      "properties": {
-        "projects": {
-          "description": "A List of Project names to specify consumer projects for this shared-reservation. This is only valid when share_type's value is SPECIFIC_PROJECTS.",
-          "items": {
-            "type": "string"
-          },
-          "type": "array"
-        },
-        "shareType": {
-          "description": "Type of sharing for this shared-reservation",
-          "enum": [
-            "ORGANIZATION",
-            "SHARE_TYPE_UNSPECIFIED",
-            "SPECIFIC_PROJECTS"
-          ],
-          "enumDescriptions": [
-            "",
-            "",
-            ""
-          ],
-          "type": "string"
-        }
-      },
-      "type": "object"
-    },
     "AllocationSpecificSKUAllocationAllocatedInstancePropertiesReservedDisk": {
       "id": "AllocationSpecificSKUAllocationAllocatedInstancePropertiesReservedDisk",
       "properties": {
@@ -38219,8 +39152,7 @@
           "description": "Cloud CDN configuration for this BackendService. Only available for  external HTTP(S) Load Balancing."
         },
         "circuitBreakers": {
-          "$ref": "CircuitBreakers",
-          "description": "Settings controlling the volume of connections to a backend service. If not set, this feature is considered disabled.\n\nThis field is applicable to either:  \n- A regional backend service with the service_protocol set to HTTP, HTTPS, or HTTP2, and load_balancing_scheme set to INTERNAL_MANAGED. \n- A global backend service with the load_balancing_scheme set to INTERNAL_SELF_MANAGED.  \n\nNot supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true."
+          "$ref": "CircuitBreakers"
         },
         "connectionDraining": {
           "$ref": "ConnectionDraining"
@@ -38340,7 +39272,7 @@
         },
         "maxStreamDuration": {
           "$ref": "Duration",
-          "description": "Specifies the default maximum duration (timeout) for streams to this service. Duration is computed from the beginning of the stream until the response has been completely processed, including all retries. A stream that does not complete in this duration is closed.\nIf not specified, there will be no timeout limit, i.e. the maximum duration is infinite.\nThis field is only allowed when the loadBalancingScheme of the backend service is INTERNAL_SELF_MANAGED."
+          "description": "Specifies the default maximum duration (timeout) for streams to this service. Duration is computed from the beginning of the stream until the response has been completely processed, including all retries. A stream that does not complete in this duration is closed.\nIf not specified, there will be no timeout limit, i.e. the maximum duration is infinite.\nThis value can be overridden in the PathMatcher configuration of the UrlMap that references this backend service.\nThis field is only allowed when the loadBalancingScheme of the backend service is INTERNAL_SELF_MANAGED."
         },
         "name": {
           "description": "Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.",
@@ -38438,7 +39370,7 @@
           "$ref": "Subsetting"
         },
         "timeoutSec": {
-          "description": "The backend service timeout has a different meaning depending on the type of load balancer. For more information see,  Backend service settings The default is 30 seconds. The full range of timeout values allowed is 1 - 2,147,483,647 seconds.",
+          "description": "Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true. Instead, use maxStreamDuration.",
           "format": "int32",
           "type": "integer"
         }
@@ -39338,6 +40270,7 @@
       "type": "object"
     },
     "BulkInsertInstanceResource": {
+      "description": "A transient resource used in compute.instances.bulkInsert and compute.regionInstances.bulkInsert and compute.regionInstances.recommendLocations. This resource is not persisted anywhere, it is used only for processing the requests.",
       "id": "BulkInsertInstanceResource",
       "properties": {
         "count": {
@@ -39381,7 +40314,7 @@
           "type": "array"
         },
         "secureTags": {
-          "description": "Secure tags to apply to this instance. These can be later modified by the update method. Maximum number of secure tags allowed is 300.",
+          "description": "Secure tags to apply to this instance. These can be later modified by the update method. Maximum number of secure tags allowed is 50.",
           "items": {
             "type": "string"
           },
@@ -39524,12 +40457,12 @@
           "description": "The timeout for new network connections to hosts."
         },
         "maxConnections": {
-          "description": "The maximum number of connections to the backend service. If not specified, there is no limit.",
+          "description": "Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.",
           "format": "int32",
           "type": "integer"
         },
         "maxPendingRequests": {
-          "description": "The maximum number of pending requests allowed to the backend service. If not specified, there is no limit.",
+          "description": "Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.",
           "format": "int32",
           "type": "integer"
         },
@@ -39539,12 +40472,12 @@
           "type": "integer"
         },
         "maxRequestsPerConnection": {
-          "description": "Maximum requests for a single connection to the backend service. This parameter is respected by both the HTTP/1.1 and HTTP/2 implementations. If not specified, there is no limit. Setting this parameter to 1 will effectively disable keep alive.",
+          "description": "Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.",
           "format": "int32",
           "type": "integer"
         },
         "maxRetries": {
-          "description": "The maximum number of parallel retries allowed to the backend cluster. If not specified, the default is 1.",
+          "description": "Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.",
           "format": "int32",
           "type": "integer"
         }
@@ -39593,6 +40526,10 @@
       "description": "Represents a regional Commitment resource.\n\nCreating a commitment resource means that you are purchasing a committed use contract with an explicit start and end time. You can create commitments based on vCPUs and memory usage and receive discounted rates. For full details, read Signing Up for Committed Use Discounts. (== resource_for {$api_version}.regionCommitments ==)",
       "id": "Commitment",
       "properties": {
+        "autoRenew": {
+          "description": "Specifies whether to enable automatic renewal for the commitment. The default value is false if not specified. The field can be updated until the day of the commitment expiration at 12:00am PST. If the field is set to true, the commitment will be automatically renewed for either one or three years according to the terms of the existing commitment.",
+          "type": "boolean"
+        },
         "category": {
           "description": "The category of the commitment. Category MACHINE specifies commitments composed of machine resources such as VCPU or MEMORY, listed in resources. Category LICENSE specifies commitments composed of software licenses, listed in licenseResources. Note that only MACHINE commitments should have a Type specified.",
           "enum": [
@@ -42626,7 +43563,7 @@
           "type": "string"
         },
         "IPProtocol": {
-          "description": "The IP protocol to which this rule applies.\n\nFor protocol forwarding, valid options are TCP, UDP, ESP, AH, SCTP and ICMP.\n\nThe valid IP protocols are different for different load balancing products:  \n- Internal TCP/UDP Load Balancing: The load balancing scheme is INTERNAL, and one of TCP, UDP or ALL is valid. \n- Traffic Director: The load balancing scheme is INTERNAL_SELF_MANAGED, and only TCP is valid.  \n- Internal HTTP(S) Load Balancing: The load balancing scheme is INTERNAL_MANAGED, and only TCP is valid. \n- HTTP(S), SSL Proxy, and TCP Proxy Load Balancing: The load balancing scheme is EXTERNAL and only TCP is valid. \n- Network Load Balancing: The load balancing scheme is EXTERNAL, and one of TCP or UDP is valid.",
+          "description": "The IP protocol to which this rule applies.\n\nFor protocol forwarding, valid options are TCP, UDP, ESP, AH, SCTP, ICMP and L3_DEFAULT.\n\nThe valid IP protocols are different for different load balancing products:  \n- Internal TCP/UDP Load Balancing: The load balancing scheme is INTERNAL, and one of TCP, UDP or L3_DEFAULT is valid. \n- Traffic Director: The load balancing scheme is INTERNAL_SELF_MANAGED, and only TCP is valid.  \n- Internal HTTP(S) Load Balancing: The load balancing scheme is INTERNAL_MANAGED, and only TCP is valid. \n- HTTP(S), SSL Proxy, and TCP Proxy Load Balancing: The load balancing scheme is EXTERNAL and only TCP is valid. \n- Network Load Balancing: The load balancing scheme is EXTERNAL, and one of TCP, UDP or L3_DEFAULT is valid.",
           "enum": [
             "AH",
             "ALL",
@@ -42650,7 +43587,7 @@
           "type": "string"
         },
         "allPorts": {
-          "description": "This field is used along with the backend_service field for internal load balancing or with the target field for internal TargetInstance. This field cannot be used with port or portRange fields.\n\nWhen the load balancing scheme is INTERNAL and protocol is TCP/UDP, specify this field to allow packets addressed to any ports will be forwarded to the backends configured with this forwarding rule.",
+          "description": "This field is used along with the backend_service field for Internal TCP/UDP Load Balancing or Network Load Balancing, or with the target field for internal and external TargetInstance.\n\nYou can only use one of ports and port_range, or allPorts. The three are mutually exclusive.\n\nFor TCP, UDP and SCTP traffic, packets addressed to any ports will be forwarded to the target or backendService.",
           "type": "boolean"
         },
         "allowGlobalAccess": {
@@ -42769,11 +43706,11 @@
           "type": "string"
         },
         "portRange": {
-          "description": "This field can be used only if: * Load balancing scheme is one of EXTERNAL,  INTERNAL_SELF_MANAGED or INTERNAL_MANAGED, and * IPProtocol is one of TCP, UDP, or SCTP.\n\nPackets addressed to ports in the specified range will be forwarded to target or  backend_service. You can only use one of ports, port_range, or allPorts. The three are mutually exclusive. Forwarding rules with the same [IPAddress, IPProtocol] pair must have disjoint port ranges.\n\nSome types of forwarding target have constraints on the acceptable ports:  \n- TargetHttpProxy: 80, 8080 \n- TargetHttpsProxy: 443 \n- TargetGrpcProxy: no constraints \n- TargetTcpProxy: 25, 43, 110, 143, 195, 443, 465, 587, 700, 993, 995, 1688, 1883, 5222 \n- TargetSslProxy: 25, 43, 110, 143, 195, 443, 465, 587, 700, 993, 995, 1688, 1883, 5222 \n- TargetVpnGateway: 500, 4500",
+          "description": "This field can be used only if:  \n- Load balancing scheme is one of EXTERNAL,  INTERNAL_SELF_MANAGED or INTERNAL_MANAGED \n- IPProtocol is one of TCP, UDP, or SCTP.  \n\nPackets addressed to ports in the specified range will be forwarded to target or  backend_service.\n\nYou can only use one of ports, port_range, or allPorts. The three are mutually exclusive.\n\nForwarding rules with the same [IPAddress, IPProtocol] pair must have disjoint ports.\n\nSome types of forwarding target have constraints on the acceptable ports:  \n- TargetHttpProxy: 80, 8080 \n- TargetHttpsProxy: 443 \n- TargetGrpcProxy: no constraints \n- TargetTcpProxy: 25, 43, 110, 143, 195, 443, 465, 587, 700, 993, 995, 1688, 1883, 5222 \n- TargetSslProxy: 25, 43, 110, 143, 195, 443, 465, 587, 700, 993, 995, 1688, 1883, 5222 \n- TargetVpnGateway: 500, 4500",
           "type": "string"
         },
         "ports": {
-          "description": "The ports field is only supported when the forwarding rule references a backend_service directly. Supported load balancing products are Internal TCP/UDP Load Balancing and Network Load Balancing. Only packets addressed to the specified list of ports are forwarded to backends.\n\nYou can only use one of ports and port_range, or allPorts. The three are mutually exclusive.\n\nYou can specify a list of up to five ports, which can be non-contiguous.\n\nFor Internal TCP/UDP Load Balancing, if you specify allPorts, you should not specify ports.\n\nFor more information, see [Port specifications](/load-balancing/docs/forwarding-rule-concepts#port_specifications).",
+          "description": "The ports field is only supported when the forwarding rule references a backend_service directly. Supported load balancing products are Internal TCP/UDP Load Balancing and Network Load Balancing. Only packets addressed to the specified list of ports are forwarded to backends.\n\nYou can only use one of ports and port_range, or allPorts. The three are mutually exclusive.\n\nYou can specify a list of up to five ports, which can be non-contiguous.\n\nForwarding rules with the same [IPAddress, IPProtocol] pair must have disjoint ports.\n\nFor more information, see [Port specifications](/load-balancing/docs/forwarding-rule-concepts#port_specifications).",
           "items": {
             "type": "string"
           },
@@ -42829,6 +43766,13 @@
           "description": "[Output Only] The internal fully qualified service name for this Forwarding Rule.\n\nThis field is only used for internal load balancing.",
           "type": "string"
         },
+        "sourceIpRanges": {
+          "description": "If not empty, this Forwarding Rule will only forward the traffic when the source IP address matches one of the IP addresses or CIDR ranges set here. Note that a Forwarding Rule can only have up to 64 source IP ranges, and this field can only be used with a regional Forwarding Rule whose scheme is EXTERNAL. Each source_ip_range entry should be either an IP address (for example, 1.2.3.4) or a CIDR range (for example, 1.2.3.0/24).",
+          "items": {
+            "type": "string"
+          },
+          "type": "array"
+        },
         "subnetwork": {
           "description": "This field is only used for internal load balancing.\n\nFor internal load balancing, this field identifies the subnetwork that the load balanced IP should belong to for this Forwarding Rule.\n\nIf the network specified is in auto subnet mode, this field is optional. However, if the network is in custom subnet mode, a subnetwork must be specified.",
           "type": "string"
@@ -43204,6 +44148,507 @@
       },
       "type": "object"
     },
+    "FutureReservation": {
+      "id": "FutureReservation",
+      "properties": {
+        "creationTimestamp": {
+          "description": "[Output Only] The creation timestamp for this future reservation in RFC3339 text format.",
+          "type": "string"
+        },
+        "description": {
+          "description": "An optional description of this resource. Provide this property when you create the future reservation.",
+          "type": "string"
+        },
+        "id": {
+          "description": "[Output Only] A unique identifier for this future reservation. The server defines this identifier.",
+          "format": "uint64",
+          "type": "string"
+        },
+        "kind": {
+          "default": "compute#futureReservation",
+          "description": "[Output Only] Type of the resource. Always compute#futureReservation for future reservations.",
+          "type": "string"
+        },
+        "name": {
+          "annotations": {
+            "required": [
+              "compute.instances.insert"
+            ]
+          },
+          "description": "The name of the resource, provided by the client when initially creating the resource. The resource name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.",
+          "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+          "type": "string"
+        },
+        "namePrefix": {
+          "description": "Name prefix for the reservations to be created at the time of delivery. The name prefix must comply with RFC1035. Maximum allowed length for name prefix is 20. Automatically created reservations name format will be -date-####.",
+          "type": "string"
+        },
+        "selfLink": {
+          "description": "[Output Only] Server-defined fully-qualified URL for this resource.",
+          "type": "string"
+        },
+        "selfLinkWithId": {
+          "description": "[Output Only] Server-defined URL for this resource with the resource id.",
+          "type": "string"
+        },
+        "shareSettings": {
+          "$ref": "ShareSettings",
+          "description": "List of Projects/Folders to share with."
+        },
+        "specificSkuProperties": {
+          "$ref": "FutureReservationSpecificSKUProperties",
+          "description": "Future Reservation configuration to indicate instance properties and total count."
+        },
+        "status": {
+          "$ref": "FutureReservationStatus",
+          "description": "[Output only] Status of the Future Reservation"
+        },
+        "timeWindow": {
+          "$ref": "FutureReservationTimeWindow",
+          "description": "Time window for this Future Reservation."
+        },
+        "zone": {
+          "description": "[Output Only] URL of the Zone where this future reservation resides.",
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
+    "FutureReservationSpecificSKUProperties": {
+      "id": "FutureReservationSpecificSKUProperties",
+      "properties": {
+        "instanceProperties": {
+          "$ref": "AllocationSpecificSKUAllocationReservedInstanceProperties",
+          "description": "Properties of the SKU instances being reserved."
+        },
+        "totalCount": {
+          "description": "Total number of instances for which capacity assurance is requested at a future time period.",
+          "format": "int64",
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
+    "FutureReservationStatus": {
+      "description": "[Output only] Represents status related to the future reservation.",
+      "id": "FutureReservationStatus",
+      "properties": {
+        "autoCreatedReservations": {
+          "description": "Fully qualified urls of the automatically created reservations at start_time.",
+          "items": {
+            "type": "string"
+          },
+          "type": "array"
+        },
+        "fulfilledCount": {
+          "description": "This count indicates the fulfilled capacity so far. This is set during \"PROVISIONING\" state. This count also includes capacity delivered as part of existing matching reservations.",
+          "format": "int64",
+          "type": "string"
+        },
+        "lockTime": {
+          "description": "Time when Future Reservation would become LOCKED, after which no modifications to Future Reservation will be allowed. Applicable only after the Future Reservation is in the APPROVED state. The lock_time is an RFC3339 string. The procurement_status will transition to PROCURING state at this time. TODO(b/183994731): Replace with Timestamp.",
+          "type": "string"
+        },
+        "procurementStatus": {
+          "description": "Current state of this Future Reservation",
+          "enum": [
+            "APPROVED",
+            "CANCELLED",
+            "COMMITTED",
+            "DECLINED",
+            "FAILED",
+            "FAILED_PARTIALLY_FULFILLED",
+            "FULFILLED",
+            "PENDING_APPROVAL",
+            "PROCUREMENT_STATUS_UNSPECIFIED",
+            "PROCURING",
+            "PROVISIONING"
+          ],
+          "enumDescriptions": [
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            ""
+          ],
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
+    "FutureReservationTimeWindow": {
+      "id": "FutureReservationTimeWindow",
+      "properties": {
+        "duration": {
+          "$ref": "Duration"
+        },
+        "endTime": {
+          "description": "TODO(b/183994731): Replace with Timestamp.",
+          "type": "string"
+        },
+        "startTime": {
+          "description": "Start time of the Future Reservation. The start_time is an RFC3339 string. TODO(b/183994731): Replace with Timestamp.",
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
+    "FutureReservationsAggregatedListResponse": {
+      "description": "Contains a list of future reservations.",
+      "id": "FutureReservationsAggregatedListResponse",
+      "properties": {
+        "etag": {
+          "type": "string"
+        },
+        "id": {
+          "description": "[Output Only] Unique identifier for the resource; defined by the server.",
+          "type": "string"
+        },
+        "items": {
+          "additionalProperties": {
+            "$ref": "FutureReservationsScopedList",
+            "description": "Name of the scope containing this set of future reservations."
+          },
+          "description": "A list of Future reservation resources.",
+          "type": "object"
+        },
+        "kind": {
+          "default": "compute#futureReservationsAggregatedListResponse",
+          "description": "Type of resource.",
+          "type": "string"
+        },
+        "nextPageToken": {
+          "description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.",
+          "type": "string"
+        },
+        "selfLink": {
+          "description": "[Output Only] Server-defined URL for this resource.",
+          "type": "string"
+        },
+        "unreachables": {
+          "description": "[Output Only] Unreachable resources.",
+          "items": {
+            "type": "string"
+          },
+          "type": "array"
+        },
+        "warning": {
+          "description": "[Output Only] Informational warning message.",
+          "properties": {
+            "code": {
+              "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.",
+              "enum": [
+                "CLEANUP_FAILED",
+                "DEPRECATED_RESOURCE_USED",
+                "DEPRECATED_TYPE_USED",
+                "DISK_SIZE_LARGER_THAN_IMAGE_SIZE",
+                "EXPERIMENTAL_TYPE_USED",
+                "EXTERNAL_API_WARNING",
+                "FIELD_VALUE_OVERRIDEN",
+                "INJECTED_KERNELS_DEPRECATED",
+                "LARGE_DEPLOYMENT_WARNING",
+                "MISSING_TYPE_DEPENDENCY",
+                "NEXT_HOP_ADDRESS_NOT_ASSIGNED",
+                "NEXT_HOP_CANNOT_IP_FORWARD",
+                "NEXT_HOP_INSTANCE_NOT_FOUND",
+                "NEXT_HOP_INSTANCE_NOT_ON_NETWORK",
+                "NEXT_HOP_NOT_RUNNING",
+                "NOT_CRITICAL_ERROR",
+                "NO_RESULTS_ON_PAGE",
+                "PARTIAL_SUCCESS",
+                "REQUIRED_TOS_AGREEMENT",
+                "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING",
+                "RESOURCE_NOT_DELETED",
+                "SCHEMA_VALIDATION_IGNORED",
+                "SINGLE_INSTANCE_PROPERTY_TEMPLATE",
+                "UNDECLARED_PROPERTIES",
+                "UNREACHABLE"
+              ],
+              "enumDescriptions": [
+                "",
+                "",
+                "",
+                "",
+                "",
+                "",
+                "",
+                "",
+                "",
+                "",
+                "",
+                "",
+                "",
+                "",
+                "",
+                "",
+                "",
+                "",
+                "",
+                "",
+                "",
+                "",
+                "",
+                "",
+                ""
+              ],
+              "type": "string"
+            },
+            "data": {
+              "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }",
+              "items": {
+                "properties": {
+                  "key": {
+                    "description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).",
+                    "type": "string"
+                  },
+                  "value": {
+                    "description": "[Output Only] A warning data value corresponding to the key.",
+                    "type": "string"
+                  }
+                },
+                "type": "object"
+              },
+              "type": "array"
+            },
+            "message": {
+              "description": "[Output Only] A human-readable description of the warning code.",
+              "type": "string"
+            }
+          },
+          "type": "object"
+        }
+      },
+      "type": "object"
+    },
+    "FutureReservationsListResponse": {
+      "id": "FutureReservationsListResponse",
+      "properties": {
+        "etag": {
+          "type": "string"
+        },
+        "id": {
+          "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.",
+          "type": "string"
+        },
+        "items": {
+          "description": "[Output Only] A list of future reservation resources.",
+          "items": {
+            "$ref": "FutureReservation"
+          },
+          "type": "array"
+        },
+        "kind": {
+          "default": "compute#futureReservationsListResponse",
+          "description": "[Output Only] Type of resource.Always compute#reservationsList for listsof reservations",
+          "type": "string"
+        },
+        "nextPageToken": {
+          "description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.",
+          "type": "string"
+        },
+        "selfLink": {
+          "description": "[Output Only] Server-defined URL for this resource.",
+          "type": "string"
+        },
+        "unreachables": {
+          "description": "[Output Only] Unreachable resources.",
+          "items": {
+            "type": "string"
+          },
+          "type": "array"
+        },
+        "warning": {
+          "description": "[Output Only] Informational warning message.",
+          "properties": {
+            "code": {
+              "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.",
+              "enum": [
+                "CLEANUP_FAILED",
+                "DEPRECATED_RESOURCE_USED",
+                "DEPRECATED_TYPE_USED",
+                "DISK_SIZE_LARGER_THAN_IMAGE_SIZE",
+                "EXPERIMENTAL_TYPE_USED",
+                "EXTERNAL_API_WARNING",
+                "FIELD_VALUE_OVERRIDEN",
+                "INJECTED_KERNELS_DEPRECATED",
+                "LARGE_DEPLOYMENT_WARNING",
+                "MISSING_TYPE_DEPENDENCY",
+                "NEXT_HOP_ADDRESS_NOT_ASSIGNED",
+                "NEXT_HOP_CANNOT_IP_FORWARD",
+                "NEXT_HOP_INSTANCE_NOT_FOUND",
+                "NEXT_HOP_INSTANCE_NOT_ON_NETWORK",
+                "NEXT_HOP_NOT_RUNNING",
+                "NOT_CRITICAL_ERROR",
+                "NO_RESULTS_ON_PAGE",
+                "PARTIAL_SUCCESS",
+                "REQUIRED_TOS_AGREEMENT",
+                "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING",
+                "RESOURCE_NOT_DELETED",
+                "SCHEMA_VALIDATION_IGNORED",
+                "SINGLE_INSTANCE_PROPERTY_TEMPLATE",
+                "UNDECLARED_PROPERTIES",
+                "UNREACHABLE"
+              ],
+              "enumDescriptions": [
+                "",
+                "",
+                "",
+                "",
+                "",
+                "",
+                "",
+                "",
+                "",
+                "",
+                "",
+                "",
+                "",
+                "",
+                "",
+                "",
+                "",
+                "",
+                "",
+                "",
+                "",
+                "",
+                "",
+                "",
+                ""
+              ],
+              "type": "string"
+            },
+            "data": {
+              "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }",
+              "items": {
+                "properties": {
+                  "key": {
+                    "description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).",
+                    "type": "string"
+                  },
+                  "value": {
+                    "description": "[Output Only] A warning data value corresponding to the key.",
+                    "type": "string"
+                  }
+                },
+                "type": "object"
+              },
+              "type": "array"
+            },
+            "message": {
+              "description": "[Output Only] A human-readable description of the warning code.",
+              "type": "string"
+            }
+          },
+          "type": "object"
+        }
+      },
+      "type": "object"
+    },
+    "FutureReservationsScopedList": {
+      "id": "FutureReservationsScopedList",
+      "properties": {
+        "resources": {
+          "description": "A list of future reservations contained in this scope.",
+          "items": {
+            "$ref": "FutureReservation"
+          },
+          "type": "array"
+        },
+        "warning": {
+          "description": "Informational warning which replaces the list of future reservations when the list is empty.",
+          "properties": {
+            "code": {
+              "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.",
+              "enum": [
+                "CLEANUP_FAILED",
+                "DEPRECATED_RESOURCE_USED",
+                "DEPRECATED_TYPE_USED",
+                "DISK_SIZE_LARGER_THAN_IMAGE_SIZE",
+                "EXPERIMENTAL_TYPE_USED",
+                "EXTERNAL_API_WARNING",
+                "FIELD_VALUE_OVERRIDEN",
+                "INJECTED_KERNELS_DEPRECATED",
+                "LARGE_DEPLOYMENT_WARNING",
+                "MISSING_TYPE_DEPENDENCY",
+                "NEXT_HOP_ADDRESS_NOT_ASSIGNED",
+                "NEXT_HOP_CANNOT_IP_FORWARD",
+                "NEXT_HOP_INSTANCE_NOT_FOUND",
+                "NEXT_HOP_INSTANCE_NOT_ON_NETWORK",
+                "NEXT_HOP_NOT_RUNNING",
+                "NOT_CRITICAL_ERROR",
+                "NO_RESULTS_ON_PAGE",
+                "PARTIAL_SUCCESS",
+                "REQUIRED_TOS_AGREEMENT",
+                "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING",
+                "RESOURCE_NOT_DELETED",
+                "SCHEMA_VALIDATION_IGNORED",
+                "SINGLE_INSTANCE_PROPERTY_TEMPLATE",
+                "UNDECLARED_PROPERTIES",
+                "UNREACHABLE"
+              ],
+              "enumDescriptions": [
+                "",
+                "",
+                "",
+                "",
+                "",
+                "",
+                "",
+                "",
+                "",
+                "",
+                "",
+                "",
+                "",
+                "",
+                "",
+                "",
+                "",
+                "",
+                "",
+                "",
+                "",
+                "",
+                "",
+                "",
+                ""
+              ],
+              "type": "string"
+            },
+            "data": {
+              "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }",
+              "items": {
+                "properties": {
+                  "key": {
+                    "description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).",
+                    "type": "string"
+                  },
+                  "value": {
+                    "description": "[Output Only] A warning data value corresponding to the key.",
+                    "type": "string"
+                  }
+                },
+                "type": "object"
+              },
+              "type": "array"
+            },
+            "message": {
+              "description": "[Output Only] A human-readable description of the warning code.",
+              "type": "string"
+            }
+          },
+          "type": "object"
+        }
+      },
+      "type": "object"
+    },
     "GRPCHealthCheck": {
       "id": "GRPCHealthCheck",
       "properties": {
@@ -43918,7 +45363,7 @@
           "type": "string"
         },
         "healthChecks": {
-          "description": "List of URLs to the HealthCheck resources. Must have at least one HealthCheck, and not more than 10. HealthCheck resources must have portSpecification=USE_SERVING_PORT. For regional HealthCheckService, the HealthCheck must be regional and in the same region. For global HealthCheckService, HealthCheck must be global. Mix of regional and global HealthChecks is not supported. Multiple regional HealthChecks must belong to the same region. Regional HealthChecks</code? must belong to the same region as zones of NEGs.",
+          "description": "List of URLs to the HealthCheck resources. Must have at least one HealthCheck, and not more than 10. HealthCheck resources must have portSpecification=USE_SERVING_PORT or portSpecification=USE_FIXED_PORT. For regional HealthCheckService, the HealthCheck must be regional and in the same region. For global HealthCheckService, HealthCheck must be global. Mix of regional and global HealthChecks is not supported. Multiple regional HealthChecks must belong to the same region. Regional HealthChecks must belong to the same region as zones of NEGs.",
           "items": {
             "type": "string"
           },
@@ -44689,7 +46134,7 @@
       "id": "HttpFaultAbort",
       "properties": {
         "httpStatus": {
-          "description": "The HTTP status code used to abort the request.\nThe value must be between 200 and 599 inclusive.",
+          "description": "The HTTP status code used to abort the request.\nThe value must be between 200 and 599 inclusive.\nFor gRPC protocol, the gRPC status code is mapped to HTTP status code according to this  mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.",
           "format": "uint32",
           "type": "integer"
         },
@@ -45113,7 +46558,7 @@
           "description": "Specifies a non-zero timeout per retry attempt.\nIf not specified, will use the timeout set in HttpRouteAction. If timeout in HttpRouteAction is not set, will use the largest timeout among all backend services associated with the route."
         },
         "retryConditions": {
-          "description": "Specfies one or more conditions when this retry rule applies. Valid values are:  \n- 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, or if the backend service does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams. \n- gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.\n- \n- connect-failure: Loadbalancer will retry on failures connecting to backend services, for example due to connection timeouts. \n- retriable-4xx: Loadbalancer will retry for retriable 4xx response codes. Currently the only retriable error supported is 409. \n- refused-stream:Loadbalancer will retry if the backend service resets the stream with a REFUSED_STREAM error code. This reset type indicates that it is safe to retry. \n- cancelledLoadbalancer will retry if the gRPC status code in the response header is set to cancelled \n- deadline-exceeded: Loadbalancer will retry if the gRPC status code in the response header is set to deadline-exceeded \n- resource-exhausted: Loadbalancer will retry if the gRPC status code in the response header is set to resource-exhausted \n- unavailable: Loadbalancer will retry if the gRPC status code in the response header is set to unavailable",
+          "description": "Specifies one or more conditions when this retry rule applies. Valid values are:  \n- 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, or if the backend service does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams. \n- gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.\n- \n- connect-failure: Loadbalancer will retry on failures connecting to backend services, for example due to connection timeouts. \n- retriable-4xx: Loadbalancer will retry for retriable 4xx response codes. Currently the only retriable error supported is 409. \n- refused-stream:Loadbalancer will retry if the backend service resets the stream with a REFUSED_STREAM error code. This reset type indicates that it is safe to retry. \n- cancelledLoadbalancer will retry if the gRPC status code in the response header is set to cancelled \n- deadline-exceeded: Loadbalancer will retry if the gRPC status code in the response header is set to deadline-exceeded \n- resource-exhausted: Loadbalancer will retry if the gRPC status code in the response header is set to resource-exhausted \n- unavailable: Loadbalancer will retry if the gRPC status code in the response header is set to unavailable",
           "items": {
             "type": "string"
           },
@@ -45131,7 +46576,7 @@
         },
         "faultInjectionPolicy": {
           "$ref": "HttpFaultInjection",
-          "description": "The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests.\ntimeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy.\nNot supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true."
+          "description": "The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests.\ntimeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy."
         },
         "maxStreamDuration": {
           "$ref": "Duration",
@@ -45554,12 +46999,7 @@
               "type": "string"
             },
             "source": {
-              "annotations": {
-                "required": [
-                  "compute.images.insert"
-                ]
-              },
-              "description": "The full Google Cloud Storage URL where the disk image is stored. You must provide either this property or the sourceDisk property but not both.",
+              "description": "The full Google Cloud Storage URL where the disk image is stored.\n\nIn order to create an image, you must provide the full or partial URL of one of the following:  \n- The rawDisk.source URL  \n- The sourceDisk URL  \n- The sourceImage URL  \n- The sourceSnapshot URL",
               "type": "string"
             }
           },
@@ -45586,7 +47026,7 @@
           "description": "Set the secure boot keys of shielded instance."
         },
         "sourceDisk": {
-          "description": "URL of the source disk used to create this image. This can be a full or valid partial URL. You must provide either this property or the rawDisk.source property but not both to create an image. For example, the following are valid values:  \n- https://www.googleapis.com/compute/v1/projects/project/zones/zone/disks/disk \n- projects/project/zones/zone/disks/disk \n- zones/zone/disks/disk",
+          "description": "URL of the source disk used to create this image. For example, the following are valid values:  \n- https://www.googleapis.com/compute/v1/projects/project/zones/zone/disks/disk \n- projects/project/zones/zone/disks/disk \n- zones/zone/disks/disk \n\nIn order to create an image, you must provide the full or partial URL of one of the following:  \n- The rawDisk.source URL  \n- The sourceDisk URL  \n- The sourceImage URL  \n- The sourceSnapshot URL",
           "type": "string"
         },
         "sourceDiskEncryptionKey": {
@@ -45598,7 +47038,7 @@
           "type": "string"
         },
         "sourceImage": {
-          "description": "URL of the source image used to create this image.\n\nIn order to create an image, you must provide the full or partial URL of one of the following:  \n- The selfLink URL  \n- This property  \n- The rawDisk.source URL  \n- The sourceDisk URL",
+          "description": "URL of the source image used to create this image.\n\nIn order to create an image, you must provide the full or partial URL of one of the following:  \n- The rawDisk.source URL  \n- The sourceDisk URL  \n- The sourceImage URL  \n- The sourceSnapshot URL",
           "type": "string"
         },
         "sourceImageEncryptionKey": {
@@ -45610,7 +47050,7 @@
           "type": "string"
         },
         "sourceSnapshot": {
-          "description": "URL of the source snapshot used to create this image.\n\nIn order to create an image, you must provide the full or partial URL of one of the following:  \n- The selfLink URL  \n- This property \n- The sourceImage URL  \n- The rawDisk.source URL  \n- The sourceDisk URL",
+          "description": "URL of the source snapshot used to create this image.\n\nIn order to create an image, you must provide the full or partial URL of one of the following:  \n- The rawDisk.source URL  \n- The sourceDisk URL  \n- The sourceImage URL  \n- The sourceSnapshot URL",
           "type": "string"
         },
         "sourceSnapshotEncryptionKey": {
@@ -46217,7 +47657,7 @@
           "description": "Sets the scheduling options for this instance."
         },
         "secureTags": {
-          "description": "Secure tags to apply to this instance. These can be later modified by the update method. Maximum number of secure tags allowed is 300.",
+          "description": "[Input Only] Secure tags to apply to this instance. These can be later modified by the update method. Maximum number of secure tags allowed is 50.",
           "items": {
             "type": "string"
           },
@@ -46750,7 +48190,7 @@
       "type": "object"
     },
     "InstanceGroupManager": {
-      "description": "Represents a Managed Instance Group resource.\n\nAn instance group is a collection of VM instances that you can manage as a single entity. For more information, read Instance groups.\n\nFor zonal Managed Instance Group, use the instanceGroupManagers resource.\n\nFor regional Managed Instance Group, use the regionInstanceGroupManagers resource. (== resource_for {$api_version}.instanceGroupManagers ==) (== resource_for {$api_version}.regionInstanceGroupManagers ==)",
+      "description": "Whether the instance is a standby. Properties of a standby instance comparing to the regular instance: ========================================================================= | regular | standby ========================================================================= managed by IGM? | yes | yes added to the IG? | yes | yes counts towards IGM's target size? | yes | no taken into account by Autoscaler? | yes | no receives traffic from LB? | yes | no =========================================================================\n\nRepresents a Managed Instance Group resource.\n\nAn instance group is a collection of VM instances that you can manage as a single entity. For more information, read Instance groups.\n\nFor zonal Managed Instance Group, use the instanceGroupManagers resource.\n\nFor regional Managed Instance Group, use the regionInstanceGroupManagers resource. (== resource_for {$api_version}.instanceGroupManagers ==) (== resource_for {$api_version}.regionInstanceGroupManagers ==)",
       "id": "InstanceGroupManager",
       "properties": {
         "autoHealingPolicies": {
@@ -47535,6 +48975,10 @@
             "type": "string"
           },
           "type": "array"
+        },
+        "skipInstancesOnValidationError": {
+          "description": "Specifies whether the request should proceed despite the inclusion of instances that are not members of the group or that are already in the process of being deleted or abandoned. If this field is set to `false` and such an instance is specified in the request, the operation fails. The operation always fails if the request contains a malformed instance URL or a reference to an instance that exists in a zone or region other than the group's zone or region.",
+          "type": "boolean"
         }
       },
       "type": "object"
@@ -48659,6 +50103,13 @@
           "$ref": "Scheduling",
           "description": "Specifies the scheduling options for the instances that are created from these properties."
         },
+        "secureTags": {
+          "description": "Secure tags to apply to this instance. Maximum number of secure tags allowed is 50.",
+          "items": {
+            "type": "string"
+          },
+          "type": "array"
+        },
         "serviceAccounts": {
           "description": "A list of service accounts with specified scopes. Access tokens for these service accounts are available to the instances that are created from these properties. Use metadata queries to obtain the access tokens for these instances.",
           "items": {
@@ -49635,6 +51086,10 @@
           "format": "int32",
           "type": "integer"
         },
+        "satisfiesPzs": {
+          "description": "[Output Only] Set to true if the resource satisfies the zone separation organization policy constraints and false otherwise. Defaults to false if the field is not present.",
+          "type": "boolean"
+        },
         "selfLink": {
           "description": "[Output Only] Server-defined URL for the resource.",
           "type": "string"
@@ -49859,6 +51314,10 @@
           "description": "URL of the Cloud Router to be used for dynamic routing. This router must be in the same region as this InterconnectAttachment. The InterconnectAttachment will automatically connect the Interconnect to the network & region within which the Cloud Router is configured.",
           "type": "string"
         },
+        "satisfiesPzs": {
+          "description": "[Output Only] Set to true if the resource satisfies the zone separation organization policy constraints and false otherwise. Defaults to false if the field is not present.",
+          "type": "boolean"
+        },
         "selfLink": {
           "description": "[Output Only] Server-defined URL for the resource.",
           "type": "string"
@@ -50657,6 +52116,10 @@
             ""
           ],
           "type": "string"
+        },
+        "supportsPzs": {
+          "description": "[Output Only] Set to true for locations that support physical zone separation. Defaults to false if the field is not present.",
+          "type": "boolean"
         }
       },
       "type": "object"
@@ -51569,7 +53032,7 @@
       "id": "LocationPolicyLocation",
       "properties": {
         "preference": {
-          "description": "Preference for a given locaction: ALLOW or DENY.",
+          "description": "Preference for a given location: ALLOW or DENY.",
           "enum": [
             "ALLOW",
             "DENY",
@@ -52766,6 +54229,281 @@
       },
       "type": "object"
     },
+    "NetworkEdgeSecurityService": {
+      "description": "Represents a Google Cloud Armor network edge security service resource. (== resource_for {$api_version}.networkEdgeSecurityServices ==)",
+      "id": "NetworkEdgeSecurityService",
+      "properties": {
+        "creationTimestamp": {
+          "description": "[Output Only] Creation timestamp in RFC3339 text format.",
+          "type": "string"
+        },
+        "description": {
+          "description": "An optional description of this resource. Provide this property when you create the resource.",
+          "type": "string"
+        },
+        "fingerprint": {
+          "description": "Fingerprint of this resource. A hash of the contents stored in this object. This field is used in optimistic locking. This field will be ignored when inserting a NetworkEdgeSecurityService. An up-to-date fingerprint must be provided in order to update the NetworkEdgeSecurityService, otherwise the request will fail with error 412 conditionNotMet.\n\nTo see the latest fingerprint, make a get() request to retrieve a NetworkEdgeSecurityService.",
+          "format": "byte",
+          "type": "string"
+        },
+        "id": {
+          "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.",
+          "format": "uint64",
+          "type": "string"
+        },
+        "kind": {
+          "default": "compute#networkEdgeSecurityService",
+          "description": "[Output only] Type of the resource. Always compute#networkEdgeSecurityServicefor NetworkEdgeSecurityServices",
+          "type": "string"
+        },
+        "name": {
+          "description": "Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.",
+          "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+          "type": "string"
+        },
+        "region": {
+          "description": "[Output Only] URL of the region where the resource resides. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.",
+          "type": "string"
+        },
+        "securityPolicy": {
+          "description": "The resource URL for the network edge security service associated with this network edge security service.",
+          "type": "string"
+        },
+        "selfLink": {
+          "description": "[Output Only] Server-defined URL for the resource.",
+          "type": "string"
+        },
+        "selfLinkWithId": {
+          "description": "[Output Only] Server-defined URL for this resource with the resource id.",
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
+    "NetworkEdgeSecurityServiceAggregatedList": {
+      "id": "NetworkEdgeSecurityServiceAggregatedList",
+      "properties": {
+        "etag": {
+          "type": "string"
+        },
+        "id": {
+          "description": "[Output Only] Unique identifier for the resource; defined by the server.",
+          "type": "string"
+        },
+        "items": {
+          "additionalProperties": {
+            "$ref": "NetworkEdgeSecurityServicesScopedList",
+            "description": "Name of the scope containing this set of security policies."
+          },
+          "description": "A list of NetworkEdgeSecurityServicesScopedList resources.",
+          "type": "object"
+        },
+        "kind": {
+          "default": "compute#networkEdgeSecurityServiceAggregatedList",
+          "description": "[Output Only] Type of resource. Always compute#networkEdgeSecurityServiceAggregatedList for lists of Network Edge Security Services.",
+          "type": "string"
+        },
+        "nextPageToken": {
+          "description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.",
+          "type": "string"
+        },
+        "selfLink": {
+          "description": "[Output Only] Server-defined URL for this resource.",
+          "type": "string"
+        },
+        "unreachables": {
+          "description": "[Output Only] Unreachable resources.",
+          "items": {
+            "type": "string"
+          },
+          "type": "array"
+        },
+        "warning": {
+          "description": "[Output Only] Informational warning message.",
+          "properties": {
+            "code": {
+              "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.",
+              "enum": [
+                "CLEANUP_FAILED",
+                "DEPRECATED_RESOURCE_USED",
+                "DEPRECATED_TYPE_USED",
+                "DISK_SIZE_LARGER_THAN_IMAGE_SIZE",
+                "EXPERIMENTAL_TYPE_USED",
+                "EXTERNAL_API_WARNING",
+                "FIELD_VALUE_OVERRIDEN",
+                "INJECTED_KERNELS_DEPRECATED",
+                "LARGE_DEPLOYMENT_WARNING",
+                "MISSING_TYPE_DEPENDENCY",
+                "NEXT_HOP_ADDRESS_NOT_ASSIGNED",
+                "NEXT_HOP_CANNOT_IP_FORWARD",
+                "NEXT_HOP_INSTANCE_NOT_FOUND",
+                "NEXT_HOP_INSTANCE_NOT_ON_NETWORK",
+                "NEXT_HOP_NOT_RUNNING",
+                "NOT_CRITICAL_ERROR",
+                "NO_RESULTS_ON_PAGE",
+                "PARTIAL_SUCCESS",
+                "REQUIRED_TOS_AGREEMENT",
+                "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING",
+                "RESOURCE_NOT_DELETED",
+                "SCHEMA_VALIDATION_IGNORED",
+                "SINGLE_INSTANCE_PROPERTY_TEMPLATE",
+                "UNDECLARED_PROPERTIES",
+                "UNREACHABLE"
+              ],
+              "enumDescriptions": [
+                "",
+                "",
+                "",
+                "",
+                "",
+                "",
+                "",
+                "",
+                "",
+                "",
+                "",
+                "",
+                "",
+                "",
+                "",
+                "",
+                "",
+                "",
+                "",
+                "",
+                "",
+                "",
+                "",
+                "",
+                ""
+              ],
+              "type": "string"
+            },
+            "data": {
+              "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }",
+              "items": {
+                "properties": {
+                  "key": {
+                    "description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).",
+                    "type": "string"
+                  },
+                  "value": {
+                    "description": "[Output Only] A warning data value corresponding to the key.",
+                    "type": "string"
+                  }
+                },
+                "type": "object"
+              },
+              "type": "array"
+            },
+            "message": {
+              "description": "[Output Only] A human-readable description of the warning code.",
+              "type": "string"
+            }
+          },
+          "type": "object"
+        }
+      },
+      "type": "object"
+    },
+    "NetworkEdgeSecurityServicesScopedList": {
+      "id": "NetworkEdgeSecurityServicesScopedList",
+      "properties": {
+        "networkEdgeSecurityServices": {
+          "description": "A list of NetworkEdgeSecurityServices contained in this scope.",
+          "items": {
+            "$ref": "NetworkEdgeSecurityService"
+          },
+          "type": "array"
+        },
+        "warning": {
+          "description": "Informational warning which replaces the list of security policies when the list is empty.",
+          "properties": {
+            "code": {
+              "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.",
+              "enum": [
+                "CLEANUP_FAILED",
+                "DEPRECATED_RESOURCE_USED",
+                "DEPRECATED_TYPE_USED",
+                "DISK_SIZE_LARGER_THAN_IMAGE_SIZE",
+                "EXPERIMENTAL_TYPE_USED",
+                "EXTERNAL_API_WARNING",
+                "FIELD_VALUE_OVERRIDEN",
+                "INJECTED_KERNELS_DEPRECATED",
+                "LARGE_DEPLOYMENT_WARNING",
+                "MISSING_TYPE_DEPENDENCY",
+                "NEXT_HOP_ADDRESS_NOT_ASSIGNED",
+                "NEXT_HOP_CANNOT_IP_FORWARD",
+                "NEXT_HOP_INSTANCE_NOT_FOUND",
+                "NEXT_HOP_INSTANCE_NOT_ON_NETWORK",
+                "NEXT_HOP_NOT_RUNNING",
+                "NOT_CRITICAL_ERROR",
+                "NO_RESULTS_ON_PAGE",
+                "PARTIAL_SUCCESS",
+                "REQUIRED_TOS_AGREEMENT",
+                "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING",
+                "RESOURCE_NOT_DELETED",
+                "SCHEMA_VALIDATION_IGNORED",
+                "SINGLE_INSTANCE_PROPERTY_TEMPLATE",
+                "UNDECLARED_PROPERTIES",
+                "UNREACHABLE"
+              ],
+              "enumDescriptions": [
+                "",
+                "",
+                "",
+                "",
+                "",
+                "",
+                "",
+                "",
+                "",
+                "",
+                "",
+                "",
+                "",
+                "",
+                "",
+                "",
+                "",
+                "",
+                "",
+                "",
+                "",
+                "",
+                "",
+                "",
+                ""
+              ],
+              "type": "string"
+            },
+            "data": {
+              "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }",
+              "items": {
+                "properties": {
+                  "key": {
+                    "description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).",
+                    "type": "string"
+                  },
+                  "value": {
+                    "description": "[Output Only] A warning data value corresponding to the key.",
+                    "type": "string"
+                  }
+                },
+                "type": "object"
+              },
+              "type": "array"
+            },
+            "message": {
+              "description": "[Output Only] A human-readable description of the warning code.",
+              "type": "string"
+            }
+          },
+          "type": "object"
+        }
+      },
+      "type": "object"
+    },
     "NetworkEndpoint": {
       "description": "The network endpoint.",
       "id": "NetworkEndpoint",
@@ -58713,8 +60451,10 @@
             "ROUTERS",
             "ROUTES",
             "SECURITY_POLICIES",
+            "SECURITY_POLICIES_PER_REGION",
             "SECURITY_POLICY_CEVAL_RULES",
             "SECURITY_POLICY_RULES",
+            "SECURITY_POLICY_RULES_PER_REGION",
             "SNAPSHOTS",
             "SSD_TOTAL_GB",
             "SSL_CERTIFICATES",
@@ -58860,6 +60600,8 @@
             "",
             "",
             "",
+            "",
+            "",
             ""
           ],
           "type": "string"
@@ -59656,6 +61398,10 @@
         "skipInapplicableInstances": {
           "description": "Skip instances which cannot be deleted (instances not belonging to this managed group, already being deleted or being abandoned). If `false`, fail whole flow, if such instance is passed. DEPRECATED: Use skip_instances_on_validation_error instead.",
           "type": "boolean"
+        },
+        "skipInstancesOnValidationError": {
+          "description": "Specifies whether the request should proceed despite the inclusion of instances that are not members of the group or that are already in the process of being deleted or abandoned. If this field is set to `false` and such an instance is specified in the request, the operation fails. The operation always fails if the request contains a malformed instance URL or a reference to an instance that exists in a zone or region other than the group's zone or region.",
+          "type": "boolean"
         }
       },
       "type": "object"
@@ -60329,7 +62075,7 @@
           "type": "string"
         },
         "shareSettings": {
-          "$ref": "AllocationShareSettings",
+          "$ref": "ShareSettings",
           "description": "Share-settings for shared-reservation"
         },
         "specificReservation": {
@@ -63404,7 +65150,7 @@
       "type": "object"
     },
     "Scheduling": {
-      "description": "Sets the scheduling options for an Instance. NextID: 20",
+      "description": "Sets the scheduling options for an Instance. NextID: 21",
       "id": "Scheduling",
       "properties": {
         "automaticRestart": {
@@ -63529,6 +65275,132 @@
       },
       "type": "object"
     },
+    "SecurityPoliciesAggregatedList": {
+      "id": "SecurityPoliciesAggregatedList",
+      "properties": {
+        "etag": {
+          "type": "string"
+        },
+        "id": {
+          "description": "[Output Only] Unique identifier for the resource; defined by the server.",
+          "type": "string"
+        },
+        "items": {
+          "additionalProperties": {
+            "$ref": "SecurityPoliciesScopedList",
+            "description": "Name of the scope containing this set of security policies."
+          },
+          "description": "A list of SecurityPoliciesScopedList resources.",
+          "type": "object"
+        },
+        "kind": {
+          "default": "compute#securityPoliciesAggregatedList",
+          "description": "[Output Only] Type of resource. Always compute#securityPolicyAggregatedList for lists of Security Policies.",
+          "type": "string"
+        },
+        "nextPageToken": {
+          "description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.",
+          "type": "string"
+        },
+        "selfLink": {
+          "description": "[Output Only] Server-defined URL for this resource.",
+          "type": "string"
+        },
+        "unreachables": {
+          "description": "[Output Only] Unreachable resources.",
+          "items": {
+            "type": "string"
+          },
+          "type": "array"
+        },
+        "warning": {
+          "description": "[Output Only] Informational warning message.",
+          "properties": {
+            "code": {
+              "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.",
+              "enum": [
+                "CLEANUP_FAILED",
+                "DEPRECATED_RESOURCE_USED",
+                "DEPRECATED_TYPE_USED",
+                "DISK_SIZE_LARGER_THAN_IMAGE_SIZE",
+                "EXPERIMENTAL_TYPE_USED",
+                "EXTERNAL_API_WARNING",
+                "FIELD_VALUE_OVERRIDEN",
+                "INJECTED_KERNELS_DEPRECATED",
+                "LARGE_DEPLOYMENT_WARNING",
+                "MISSING_TYPE_DEPENDENCY",
+                "NEXT_HOP_ADDRESS_NOT_ASSIGNED",
+                "NEXT_HOP_CANNOT_IP_FORWARD",
+                "NEXT_HOP_INSTANCE_NOT_FOUND",
+                "NEXT_HOP_INSTANCE_NOT_ON_NETWORK",
+                "NEXT_HOP_NOT_RUNNING",
+                "NOT_CRITICAL_ERROR",
+                "NO_RESULTS_ON_PAGE",
+                "PARTIAL_SUCCESS",
+                "REQUIRED_TOS_AGREEMENT",
+                "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING",
+                "RESOURCE_NOT_DELETED",
+                "SCHEMA_VALIDATION_IGNORED",
+                "SINGLE_INSTANCE_PROPERTY_TEMPLATE",
+                "UNDECLARED_PROPERTIES",
+                "UNREACHABLE"
+              ],
+              "enumDescriptions": [
+                "",
+                "",
+                "",
+                "",
+                "",
+                "",
+                "",
+                "",
+                "",
+                "",
+                "",
+                "",
+                "",
+                "",
+                "",
+                "",
+                "",
+                "",
+                "",
+                "",
+                "",
+                "",
+                "",
+                "",
+                ""
+              ],
+              "type": "string"
+            },
+            "data": {
+              "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }",
+              "items": {
+                "properties": {
+                  "key": {
+                    "description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).",
+                    "type": "string"
+                  },
+                  "value": {
+                    "description": "[Output Only] A warning data value corresponding to the key.",
+                    "type": "string"
+                  }
+                },
+                "type": "object"
+              },
+              "type": "array"
+            },
+            "message": {
+              "description": "[Output Only] A human-readable description of the warning code.",
+              "type": "string"
+            }
+          },
+          "type": "object"
+        }
+      },
+      "type": "object"
+    },
     "SecurityPoliciesListPreconfiguredExpressionSetsResponse": {
       "id": "SecurityPoliciesListPreconfiguredExpressionSetsResponse",
       "properties": {
@@ -63538,6 +65410,104 @@
       },
       "type": "object"
     },
+    "SecurityPoliciesScopedList": {
+      "id": "SecurityPoliciesScopedList",
+      "properties": {
+        "securityPolicies": {
+          "description": "A list of SecurityPolicies contained in this scope.",
+          "items": {
+            "$ref": "SecurityPolicy"
+          },
+          "type": "array"
+        },
+        "warning": {
+          "description": "Informational warning which replaces the list of security policies when the list is empty.",
+          "properties": {
+            "code": {
+              "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.",
+              "enum": [
+                "CLEANUP_FAILED",
+                "DEPRECATED_RESOURCE_USED",
+                "DEPRECATED_TYPE_USED",
+                "DISK_SIZE_LARGER_THAN_IMAGE_SIZE",
+                "EXPERIMENTAL_TYPE_USED",
+                "EXTERNAL_API_WARNING",
+                "FIELD_VALUE_OVERRIDEN",
+                "INJECTED_KERNELS_DEPRECATED",
+                "LARGE_DEPLOYMENT_WARNING",
+                "MISSING_TYPE_DEPENDENCY",
+                "NEXT_HOP_ADDRESS_NOT_ASSIGNED",
+                "NEXT_HOP_CANNOT_IP_FORWARD",
+                "NEXT_HOP_INSTANCE_NOT_FOUND",
+                "NEXT_HOP_INSTANCE_NOT_ON_NETWORK",
+                "NEXT_HOP_NOT_RUNNING",
+                "NOT_CRITICAL_ERROR",
+                "NO_RESULTS_ON_PAGE",
+                "PARTIAL_SUCCESS",
+                "REQUIRED_TOS_AGREEMENT",
+                "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING",
+                "RESOURCE_NOT_DELETED",
+                "SCHEMA_VALIDATION_IGNORED",
+                "SINGLE_INSTANCE_PROPERTY_TEMPLATE",
+                "UNDECLARED_PROPERTIES",
+                "UNREACHABLE"
+              ],
+              "enumDescriptions": [
+                "",
+                "",
+                "",
+                "",
+                "",
+                "",
+                "",
+                "",
+                "",
+                "",
+                "",
+                "",
+                "",
+                "",
+                "",
+                "",
+                "",
+                "",
+                "",
+                "",
+                "",
+                "",
+                "",
+                "",
+                ""
+              ],
+              "type": "string"
+            },
+            "data": {
+              "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }",
+              "items": {
+                "properties": {
+                  "key": {
+                    "description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).",
+                    "type": "string"
+                  },
+                  "value": {
+                    "description": "[Output Only] A warning data value corresponding to the key.",
+                    "type": "string"
+                  }
+                },
+                "type": "object"
+              },
+              "type": "array"
+            },
+            "message": {
+              "description": "[Output Only] A human-readable description of the warning code.",
+              "type": "string"
+            }
+          },
+          "type": "object"
+        }
+      },
+      "type": "object"
+    },
     "SecurityPoliciesWafConfig": {
       "id": "SecurityPoliciesWafConfig",
       "properties": {
@@ -63568,6 +65538,9 @@
           "description": "[Output Only] Creation timestamp in RFC3339 text format.",
           "type": "string"
         },
+        "ddosProtectionConfig": {
+          "$ref": "SecurityPolicyDdosProtectionConfig"
+        },
         "description": {
           "description": "An optional description of this resource. Provide this property when you create the resource.",
           "type": "string"
@@ -63613,6 +65586,10 @@
           "description": "[Output Only] The parent of the security policy.",
           "type": "string"
         },
+        "region": {
+          "description": "[Output Only] URL of the region where the regional security policy resides. This field is not applicable to global security policies.",
+          "type": "string"
+        },
         "ruleTupleCount": {
           "description": "[Output Only] Total count of all security policy rule tuples. A security policy can not exceed a set number of tuples.",
           "format": "int32",
@@ -63638,11 +65615,13 @@
           "enum": [
             "CLOUD_ARMOR",
             "CLOUD_ARMOR_EDGE",
+            "CLOUD_ARMOR_NETWORK",
             "FIREWALL"
           ],
           "enumDescriptions": [
             "",
             "",
+            "",
             ""
           ],
           "type": "string"
@@ -63717,9 +65696,29 @@
       },
       "type": "object"
     },
+    "SecurityPolicyDdosProtectionConfig": {
+      "id": "SecurityPolicyDdosProtectionConfig",
+      "properties": {
+        "ddosProtection": {
+          "enum": [
+            "ADVANCED",
+            "STANDARD"
+          ],
+          "enumDescriptions": [
+            "",
+            ""
+          ],
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
     "SecurityPolicyList": {
       "id": "SecurityPolicyList",
       "properties": {
+        "etag": {
+          "type": "string"
+        },
         "id": {
           "description": "[Output Only] Unique identifier for the resource; defined by the server.",
           "type": "string"
@@ -63740,6 +65739,13 @@
           "description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.",
           "type": "string"
         },
+        "unreachables": {
+          "description": "[Output Only] Unreachable resources.",
+          "items": {
+            "type": "string"
+          },
+          "type": "array"
+        },
         "warning": {
           "description": "[Output Only] Informational warning message.",
           "properties": {
@@ -64674,7 +66680,7 @@
     "ServiceAttachmentsScopedList": {
       "id": "ServiceAttachmentsScopedList",
       "properties": {
-        "resources": {
+        "serviceAttachments": {
           "description": "A list of ServiceAttachments contained in this scope.",
           "items": {
             "$ref": "ServiceAttachment"
@@ -64769,6 +66775,34 @@
       },
       "type": "object"
     },
+    "ShareSettings": {
+      "description": "The share setting for reservations and sole tenancy node groups.",
+      "id": "ShareSettings",
+      "properties": {
+        "projects": {
+          "description": "A List of Project names to specify consumer projects for this shared-reservation. This is only valid when share_type's value is SPECIFIC_PROJECTS.",
+          "items": {
+            "type": "string"
+          },
+          "type": "array"
+        },
+        "shareType": {
+          "description": "Type of sharing for this shared-reservation",
+          "enum": [
+            "ORGANIZATION",
+            "SHARE_TYPE_UNSPECIFIED",
+            "SPECIFIC_PROJECTS"
+          ],
+          "enumDescriptions": [
+            "",
+            "",
+            ""
+          ],
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
     "ShieldedInstanceConfig": {
       "description": "A set of Shielded Instance options.",
       "id": "ShieldedInstanceConfig",
@@ -66369,6 +68403,10 @@
           "description": "URL of the region where the Subnetwork resides. This field can be set only at resource creation time.",
           "type": "string"
         },
+        "reservedInternalRange": {
+          "description": "The URL of the reserved internal range.",
+          "type": "string"
+        },
         "role": {
           "description": "The role of subnetwork. Currently, this field is only used when purpose = INTERNAL_HTTPS_LOAD_BALANCER. The value can be set to ACTIVE or BACKUP. An ACTIVE subnetwork is one that is currently being used for Internal HTTP(S) Load Balancing. A BACKUP subnetwork is one that is ready to be promoted to ACTIVE or is currently draining. This field can be updated with a patch request.",
           "enum": [
@@ -66744,6 +68782,10 @@
         "rangeName": {
           "description": "The name associated with this subnetwork secondary range, used when adding an alias IP range to a VM instance. The name must be 1-63 characters long, and comply with RFC1035. The name must be unique within the subnetwork.",
           "type": "string"
+        },
+        "reservedInternalRange": {
+          "description": "The URL of the reserved internal range.",
+          "type": "string"
         }
       },
       "type": "object"
@@ -67653,7 +69695,7 @@
       "id": "TargetHttpsProxiesSetSslCertificatesRequest",
       "properties": {
         "sslCertificates": {
-          "description": "New set of SslCertificate resources to associate with this TargetHttpsProxy resource. Currently exactly one SslCertificate resource must be specified.",
+          "description": "New set of SslCertificate resources to associate with this TargetHttpsProxy resource. At least one SSL certificate must be specified. Currently, you may specify up to 15 SSL certificates.",
           "items": {
             "type": "string"
           },
@@ -67752,7 +69794,7 @@
           "type": "string"
         },
         "sslCertificates": {
-          "description": "URLs to SslCertificate resources that are used to authenticate connections between users and the load balancer. At least one SSL certificate must be specified. Currently, you may specify up to 15 SSL certificates.",
+          "description": "URLs to SslCertificate resources that are used to authenticate connections between users and the load balancer. At least one SSL certificate must be specified. Currently, you may specify up to 15 SSL certificates. sslCertificates do not apply when the load balancing scheme is set to INTERNAL_SELF_MANAGED.",
           "items": {
             "type": "string"
           },
@@ -68951,7 +70993,7 @@
       "id": "TargetSslProxiesSetSslCertificatesRequest",
       "properties": {
         "sslCertificates": {
-          "description": "New set of URLs to SslCertificate resources to associate with this TargetSslProxy. Currently exactly one ssl certificate must be specified.",
+          "description": "New set of URLs to SslCertificate resources to associate with this TargetSslProxy. At least one SSL certificate must be specified. Currently, you may specify up to 15 SSL certificates.",
           "items": {
             "type": "string"
           },
@@ -69012,7 +71054,7 @@
           "type": "string"
         },
         "sslCertificates": {
-          "description": "URLs to SslCertificate resources that are used to authenticate connections to Backends. At least one SSL certificate must be specified. Currently, you may specify up to 15 SSL certificates.",
+          "description": "URLs to SslCertificate resources that are used to authenticate connections to Backends. At least one SSL certificate must be specified. Currently, you may specify up to 15 SSL certificates. sslCertificates do not apply when the load balancing scheme is set to INTERNAL_SELF_MANAGED.",
           "items": {
             "type": "string"
           },
diff --git a/googleapiclient/discovery_cache/documents/compute.beta.json b/googleapiclient/discovery_cache/documents/compute.beta.json
index 5b43087..c74aeff 100644
--- a/googleapiclient/discovery_cache/documents/compute.beta.json
+++ b/googleapiclient/discovery_cache/documents/compute.beta.json
@@ -29,7 +29,7 @@
   "description": "Creates and runs virtual machines on Google Cloud Platform.",
   "discoveryVersion": "v1",
   "documentationLink": "https://developers.google.com/compute/docs/reference/latest/",
-  "etag": "\"uWj2hSb4GVjzdDlAnRd2gbM1ZQ8/OBbPSt4nx2XCXJ7QcTCU0NHp-eI\"",
+  "etag": "\"uWj2hSb4GVjzdDlAnRd2gbM1ZQ8/5FjkLId7LoXhu3jcOOJByyOp5jw\"",
   "icons": {
     "x16": "https://www.google.com/images/icons/product/compute_engine-16.png",
     "x32": "https://www.google.com/images/icons/product/compute_engine-32.png"
@@ -31224,7 +31224,7 @@
       }
     }
   },
-  "revision": "20210415",
+  "revision": "20210505",
   "rootUrl": "https://compute.googleapis.com/",
   "schemas": {
     "AcceleratorConfig": {
@@ -31631,6 +31631,15 @@
       "description": "An access configuration attached to an instance's network interface. Only one access config per instance is supported.",
       "id": "AccessConfig",
       "properties": {
+        "externalIpv6": {
+          "description": "[Output Only] The first IPv6 address of the external IPv6 range associated with this instance, prefix length is stored in externalIpv6PrefixLength in ipv6AccessConfig. The field is output only, an IPv6 address from a subnetwork associated with the instance will be allocated dynamically.",
+          "type": "string"
+        },
+        "externalIpv6PrefixLength": {
+          "description": "[Output Only] The prefix length of the external IPv6 range.",
+          "format": "int32",
+          "type": "integer"
+        },
         "kind": {
           "default": "compute#accessConfig",
           "description": "[Output Only] Type of the resource. Always compute#accessConfig for access configs.",
@@ -31668,9 +31677,11 @@
           "default": "ONE_TO_ONE_NAT",
           "description": "The type of configuration. The default and only option is ONE_TO_ONE_NAT.",
           "enum": [
+            "DIRECT_IPV6",
             "ONE_TO_ONE_NAT"
           ],
           "enumDescriptions": [
+            "",
             ""
           ],
           "type": "string"
@@ -33646,8 +33657,7 @@
           "description": "Cloud CDN configuration for this BackendService. Only available for  external HTTP(S) Load Balancing."
         },
         "circuitBreakers": {
-          "$ref": "CircuitBreakers",
-          "description": "Settings controlling the volume of connections to a backend service. If not set, this feature is considered disabled.\n\nThis field is applicable to either:  \n- A regional backend service with the service_protocol set to HTTP, HTTPS, or HTTP2, and load_balancing_scheme set to INTERNAL_MANAGED. \n- A global backend service with the load_balancing_scheme set to INTERNAL_SELF_MANAGED.  \n\nNot supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true."
+          "$ref": "CircuitBreakers"
         },
         "connectionDraining": {
           "$ref": "ConnectionDraining"
@@ -33761,7 +33771,7 @@
         },
         "maxStreamDuration": {
           "$ref": "Duration",
-          "description": "Specifies the default maximum duration (timeout) for streams to this service. Duration is computed from the beginning of the stream until the response has been completely processed, including all retries. A stream that does not complete in this duration is closed.\nIf not specified, there will be no timeout limit, i.e. the maximum duration is infinite.\nThis field is only allowed when the loadBalancingScheme of the backend service is INTERNAL_SELF_MANAGED."
+          "description": "Specifies the default maximum duration (timeout) for streams to this service. Duration is computed from the beginning of the stream until the response has been completely processed, including all retries. A stream that does not complete in this duration is closed.\nIf not specified, there will be no timeout limit, i.e. the maximum duration is infinite.\nThis value can be overridden in the PathMatcher configuration of the UrlMap that references this backend service.\nThis field is only allowed when the loadBalancingScheme of the backend service is INTERNAL_SELF_MANAGED."
         },
         "name": {
           "description": "Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.",
@@ -33794,7 +33804,8 @@
             "HTTPS",
             "SSL",
             "TCP",
-            "UDP"
+            "UDP",
+            "UNSPECIFIED"
           ],
           "enumDescriptions": [
             "",
@@ -33803,6 +33814,7 @@
             "",
             "",
             "",
+            "",
             ""
           ],
           "type": "string"
@@ -33851,7 +33863,7 @@
           "$ref": "Subsetting"
         },
         "timeoutSec": {
-          "description": "The backend service timeout has a different meaning depending on the type of load balancer. For more information see,  Backend service settings The default is 30 seconds. The full range of timeout values allowed is 1 - 2,147,483,647 seconds.",
+          "description": "Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true. Instead, use maxStreamDuration.",
           "format": "int32",
           "type": "integer"
         }
@@ -34709,6 +34721,7 @@
       "type": "object"
     },
     "BulkInsertInstanceResource": {
+      "description": "A transient resource used in compute.instances.bulkInsert and compute.regionInstances.bulkInsert and compute.regionInstances.recommendLocations. This resource is not persisted anywhere, it is used only for processing the requests.",
       "id": "BulkInsertInstanceResource",
       "properties": {
         "count": {
@@ -34827,12 +34840,12 @@
           "description": "The timeout for new network connections to hosts."
         },
         "maxConnections": {
-          "description": "The maximum number of connections to the backend service. If not specified, there is no limit.",
+          "description": "Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.",
           "format": "int32",
           "type": "integer"
         },
         "maxPendingRequests": {
-          "description": "The maximum number of pending requests allowed to the backend service. If not specified, there is no limit.",
+          "description": "Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.",
           "format": "int32",
           "type": "integer"
         },
@@ -34842,12 +34855,12 @@
           "type": "integer"
         },
         "maxRequestsPerConnection": {
-          "description": "Maximum requests for a single connection to the backend service. This parameter is respected by both the HTTP/1.1 and HTTP/2 implementations. If not specified, there is no limit. Setting this parameter to 1 will effectively disable keep alive.",
+          "description": "Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.",
           "format": "int32",
           "type": "integer"
         },
         "maxRetries": {
-          "description": "The maximum number of parallel retries allowed to the backend cluster. If not specified, the default is 1.",
+          "description": "Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.",
           "format": "int32",
           "type": "integer"
         }
@@ -37803,11 +37816,12 @@
           "type": "string"
         },
         "IPProtocol": {
-          "description": "The IP protocol to which this rule applies.\n\nFor protocol forwarding, valid options are TCP, UDP, ESP, AH, SCTP and ICMP.\n\nThe valid IP protocols are different for different load balancing products:  \n- Internal TCP/UDP Load Balancing: The load balancing scheme is INTERNAL, and one of TCP, UDP or ALL is valid. \n- Traffic Director: The load balancing scheme is INTERNAL_SELF_MANAGED, and only TCP is valid.  \n- Internal HTTP(S) Load Balancing: The load balancing scheme is INTERNAL_MANAGED, and only TCP is valid. \n- HTTP(S), SSL Proxy, and TCP Proxy Load Balancing: The load balancing scheme is EXTERNAL and only TCP is valid. \n- Network Load Balancing: The load balancing scheme is EXTERNAL, and one of TCP or UDP is valid.",
+          "description": "The IP protocol to which this rule applies.\n\nFor protocol forwarding, valid options are TCP, UDP, ESP, AH, SCTP, ICMP and L3_DEFAULT.\n\nThe valid IP protocols are different for different load balancing products:  \n- Internal TCP/UDP Load Balancing: The load balancing scheme is INTERNAL, and one of TCP, UDP or L3_DEFAULT is valid. \n- Traffic Director: The load balancing scheme is INTERNAL_SELF_MANAGED, and only TCP is valid.  \n- Internal HTTP(S) Load Balancing: The load balancing scheme is INTERNAL_MANAGED, and only TCP is valid. \n- HTTP(S), SSL Proxy, and TCP Proxy Load Balancing: The load balancing scheme is EXTERNAL and only TCP is valid. \n- Network Load Balancing: The load balancing scheme is EXTERNAL, and one of TCP, UDP or L3_DEFAULT is valid.",
           "enum": [
             "AH",
             "ESP",
             "ICMP",
+            "L3_DEFAULT",
             "SCTP",
             "TCP",
             "UDP"
@@ -37818,12 +37832,13 @@
             "",
             "",
             "",
+            "",
             ""
           ],
           "type": "string"
         },
         "allPorts": {
-          "description": "This field is used along with the backend_service field for internal load balancing or with the target field for internal TargetInstance. This field cannot be used with port or portRange fields.\n\nWhen the load balancing scheme is INTERNAL and protocol is TCP/UDP, specify this field to allow packets addressed to any ports will be forwarded to the backends configured with this forwarding rule.",
+          "description": "This field is used along with the backend_service field for Internal TCP/UDP Load Balancing or Network Load Balancing, or with the target field for internal and external TargetInstance.\n\nYou can only use one of ports and port_range, or allPorts. The three are mutually exclusive.\n\nFor TCP, UDP and SCTP traffic, packets addressed to any ports will be forwarded to the target or backendService.",
           "type": "boolean"
         },
         "allowGlobalAccess": {
@@ -37934,11 +37949,11 @@
           "type": "string"
         },
         "portRange": {
-          "description": "This field can be used only if: * Load balancing scheme is one of EXTERNAL,  INTERNAL_SELF_MANAGED or INTERNAL_MANAGED, and * IPProtocol is one of TCP, UDP, or SCTP.\n\nPackets addressed to ports in the specified range will be forwarded to target or  backend_service. You can only use one of ports, port_range, or allPorts. The three are mutually exclusive. Forwarding rules with the same [IPAddress, IPProtocol] pair must have disjoint port ranges.\n\nSome types of forwarding target have constraints on the acceptable ports:  \n- TargetHttpProxy: 80, 8080 \n- TargetHttpsProxy: 443 \n- TargetGrpcProxy: no constraints \n- TargetTcpProxy: 25, 43, 110, 143, 195, 443, 465, 587, 700, 993, 995, 1688, 1883, 5222 \n- TargetSslProxy: 25, 43, 110, 143, 195, 443, 465, 587, 700, 993, 995, 1688, 1883, 5222 \n- TargetVpnGateway: 500, 4500",
+          "description": "This field can be used only if:  \n- Load balancing scheme is one of EXTERNAL,  INTERNAL_SELF_MANAGED or INTERNAL_MANAGED \n- IPProtocol is one of TCP, UDP, or SCTP.  \n\nPackets addressed to ports in the specified range will be forwarded to target or  backend_service.\n\nYou can only use one of ports, port_range, or allPorts. The three are mutually exclusive.\n\nForwarding rules with the same [IPAddress, IPProtocol] pair must have disjoint ports.\n\nSome types of forwarding target have constraints on the acceptable ports:  \n- TargetHttpProxy: 80, 8080 \n- TargetHttpsProxy: 443 \n- TargetGrpcProxy: no constraints \n- TargetTcpProxy: 25, 43, 110, 143, 195, 443, 465, 587, 700, 993, 995, 1688, 1883, 5222 \n- TargetSslProxy: 25, 43, 110, 143, 195, 443, 465, 587, 700, 993, 995, 1688, 1883, 5222 \n- TargetVpnGateway: 500, 4500",
           "type": "string"
         },
         "ports": {
-          "description": "The ports field is only supported when the forwarding rule references a backend_service directly. Supported load balancing products are Internal TCP/UDP Load Balancing and Network Load Balancing. Only packets addressed to the specified list of ports are forwarded to backends.\n\nYou can only use one of ports and port_range, or allPorts. The three are mutually exclusive.\n\nYou can specify a list of up to five ports, which can be non-contiguous.\n\nFor Internal TCP/UDP Load Balancing, if you specify allPorts, you should not specify ports.\n\nFor more information, see [Port specifications](/load-balancing/docs/forwarding-rule-concepts#port_specifications).",
+          "description": "The ports field is only supported when the forwarding rule references a backend_service directly. Supported load balancing products are Internal TCP/UDP Load Balancing and Network Load Balancing. Only packets addressed to the specified list of ports are forwarded to backends.\n\nYou can only use one of ports and port_range, or allPorts. The three are mutually exclusive.\n\nYou can specify a list of up to five ports, which can be non-contiguous.\n\nForwarding rules with the same [IPAddress, IPProtocol] pair must have disjoint ports.\n\nFor more information, see [Port specifications](/load-balancing/docs/forwarding-rule-concepts#port_specifications).",
           "items": {
             "type": "string"
           },
@@ -37949,6 +37964,23 @@
           "format": "uint64",
           "type": "string"
         },
+        "pscConnectionStatus": {
+          "enum": [
+            "ACCEPTED",
+            "CLOSED",
+            "PENDING",
+            "REJECTED",
+            "STATUS_UNSPECIFIED"
+          ],
+          "enumDescriptions": [
+            "",
+            "",
+            "",
+            "",
+            ""
+          ],
+          "type": "string"
+        },
         "region": {
           "description": "[Output Only] URL of the region where the regional forwarding rule resides. This field is not applicable to global forwarding rules. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.",
           "type": "string"
@@ -38980,7 +39012,7 @@
           "type": "string"
         },
         "healthChecks": {
-          "description": "List of URLs to the HealthCheck resources. Must have at least one HealthCheck, and not more than 10. HealthCheck resources must have portSpecification=USE_SERVING_PORT. For regional HealthCheckService, the HealthCheck must be regional and in the same region. For global HealthCheckService, HealthCheck must be global. Mix of regional and global HealthChecks is not supported. Multiple regional HealthChecks must belong to the same region. Regional HealthChecks</code? must belong to the same region as zones of NEGs.",
+          "description": "List of URLs to the HealthCheck resources. Must have at least one HealthCheck, and not more than 10. HealthCheck resources must have portSpecification=USE_SERVING_PORT or portSpecification=USE_FIXED_PORT. For regional HealthCheckService, the HealthCheck must be regional and in the same region. For global HealthCheckService, HealthCheck must be global. Mix of regional and global HealthChecks is not supported. Multiple regional HealthChecks must belong to the same region. Regional HealthChecks must belong to the same region as zones of NEGs.",
           "items": {
             "type": "string"
           },
@@ -39525,7 +39557,7 @@
       "id": "HttpFaultAbort",
       "properties": {
         "httpStatus": {
-          "description": "The HTTP status code used to abort the request.\nThe value must be between 200 and 599 inclusive.",
+          "description": "The HTTP status code used to abort the request.\nThe value must be between 200 and 599 inclusive.\nFor gRPC protocol, the gRPC status code is mapped to HTTP status code according to this  mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.",
           "format": "uint32",
           "type": "integer"
         },
@@ -39945,7 +39977,7 @@
           "description": "Specifies a non-zero timeout per retry attempt.\nIf not specified, will use the timeout set in HttpRouteAction. If timeout in HttpRouteAction is not set, will use the largest timeout among all backend services associated with the route."
         },
         "retryConditions": {
-          "description": "Specfies one or more conditions when this retry rule applies. Valid values are:  \n- 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, or if the backend service does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams. \n- gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.\n- \n- connect-failure: Loadbalancer will retry on failures connecting to backend services, for example due to connection timeouts. \n- retriable-4xx: Loadbalancer will retry for retriable 4xx response codes. Currently the only retriable error supported is 409. \n- refused-stream:Loadbalancer will retry if the backend service resets the stream with a REFUSED_STREAM error code. This reset type indicates that it is safe to retry. \n- cancelledLoadbalancer will retry if the gRPC status code in the response header is set to cancelled \n- deadline-exceeded: Loadbalancer will retry if the gRPC status code in the response header is set to deadline-exceeded \n- resource-exhausted: Loadbalancer will retry if the gRPC status code in the response header is set to resource-exhausted \n- unavailable: Loadbalancer will retry if the gRPC status code in the response header is set to unavailable",
+          "description": "Specifies one or more conditions when this retry rule applies. Valid values are:  \n- 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, or if the backend service does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams. \n- gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.\n- \n- connect-failure: Loadbalancer will retry on failures connecting to backend services, for example due to connection timeouts. \n- retriable-4xx: Loadbalancer will retry for retriable 4xx response codes. Currently the only retriable error supported is 409. \n- refused-stream:Loadbalancer will retry if the backend service resets the stream with a REFUSED_STREAM error code. This reset type indicates that it is safe to retry. \n- cancelledLoadbalancer will retry if the gRPC status code in the response header is set to cancelled \n- deadline-exceeded: Loadbalancer will retry if the gRPC status code in the response header is set to deadline-exceeded \n- resource-exhausted: Loadbalancer will retry if the gRPC status code in the response header is set to resource-exhausted \n- unavailable: Loadbalancer will retry if the gRPC status code in the response header is set to unavailable",
           "items": {
             "type": "string"
           },
@@ -39963,7 +39995,7 @@
         },
         "faultInjectionPolicy": {
           "$ref": "HttpFaultInjection",
-          "description": "The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests.\ntimeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy.\nNot supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true."
+          "description": "The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests.\ntimeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy."
         },
         "maxStreamDuration": {
           "$ref": "Duration",
@@ -40382,12 +40414,7 @@
               "type": "string"
             },
             "source": {
-              "annotations": {
-                "required": [
-                  "compute.images.insert"
-                ]
-              },
-              "description": "The full Google Cloud Storage URL where the disk image is stored. You must provide either this property or the sourceDisk property but not both.",
+              "description": "The full Google Cloud Storage URL where the disk image is stored.\n\nIn order to create an image, you must provide the full or partial URL of one of the following:  \n- The rawDisk.source URL  \n- The sourceDisk URL  \n- The sourceImage URL  \n- The sourceSnapshot URL",
               "type": "string"
             }
           },
@@ -40406,7 +40433,7 @@
           "description": "Set the secure boot keys of shielded instance."
         },
         "sourceDisk": {
-          "description": "URL of the source disk used to create this image. This can be a full or valid partial URL. You must provide either this property or the rawDisk.source property but not both to create an image. For example, the following are valid values:  \n- https://www.googleapis.com/compute/v1/projects/project/zones/zone/disks/disk \n- projects/project/zones/zone/disks/disk \n- zones/zone/disks/disk",
+          "description": "URL of the source disk used to create this image. For example, the following are valid values:  \n- https://www.googleapis.com/compute/v1/projects/project/zones/zone/disks/disk \n- projects/project/zones/zone/disks/disk \n- zones/zone/disks/disk \n\nIn order to create an image, you must provide the full or partial URL of one of the following:  \n- The rawDisk.source URL  \n- The sourceDisk URL  \n- The sourceImage URL  \n- The sourceSnapshot URL",
           "type": "string"
         },
         "sourceDiskEncryptionKey": {
@@ -40418,7 +40445,7 @@
           "type": "string"
         },
         "sourceImage": {
-          "description": "URL of the source image used to create this image.\n\nIn order to create an image, you must provide the full or partial URL of one of the following:  \n- The selfLink URL  \n- This property  \n- The rawDisk.source URL  \n- The sourceDisk URL",
+          "description": "URL of the source image used to create this image.\n\nIn order to create an image, you must provide the full or partial URL of one of the following:  \n- The rawDisk.source URL  \n- The sourceDisk URL  \n- The sourceImage URL  \n- The sourceSnapshot URL",
           "type": "string"
         },
         "sourceImageEncryptionKey": {
@@ -40430,7 +40457,7 @@
           "type": "string"
         },
         "sourceSnapshot": {
-          "description": "URL of the source snapshot used to create this image.\n\nIn order to create an image, you must provide the full or partial URL of one of the following:  \n- The selfLink URL  \n- This property \n- The sourceImage URL  \n- The rawDisk.source URL  \n- The sourceDisk URL",
+          "description": "URL of the source snapshot used to create this image.\n\nIn order to create an image, you must provide the full or partial URL of one of the following:  \n- The rawDisk.source URL  \n- The sourceDisk URL  \n- The sourceImage URL  \n- The sourceSnapshot URL",
           "type": "string"
         },
         "sourceSnapshotEncryptionKey": {
@@ -41331,7 +41358,7 @@
       "type": "object"
     },
     "InstanceGroupManager": {
-      "description": "Represents a Managed Instance Group resource.\n\nAn instance group is a collection of VM instances that you can manage as a single entity. For more information, read Instance groups.\n\nFor zonal Managed Instance Group, use the instanceGroupManagers resource.\n\nFor regional Managed Instance Group, use the regionInstanceGroupManagers resource. (== resource_for {$api_version}.instanceGroupManagers ==) (== resource_for {$api_version}.regionInstanceGroupManagers ==)",
+      "description": "Whether the instance is a standby. Properties of a standby instance comparing to the regular instance: ========================================================================= | regular | standby ========================================================================= managed by IGM? | yes | yes added to the IG? | yes | yes counts towards IGM's target size? | yes | no taken into account by Autoscaler? | yes | no receives traffic from LB? | yes | no =========================================================================\n\nRepresents a Managed Instance Group resource.\n\nAn instance group is a collection of VM instances that you can manage as a single entity. For more information, read Instance groups.\n\nFor zonal Managed Instance Group, use the instanceGroupManagers resource.\n\nFor regional Managed Instance Group, use the regionInstanceGroupManagers resource. (== resource_for {$api_version}.instanceGroupManagers ==) (== resource_for {$api_version}.regionInstanceGroupManagers ==)",
       "id": "InstanceGroupManager",
       "properties": {
         "autoHealingPolicies": {
@@ -45344,7 +45371,7 @@
       "id": "LocationPolicyLocation",
       "properties": {
         "preference": {
-          "description": "Preference for a given locaction: ALLOW or DENY.",
+          "description": "Preference for a given location: ALLOW or DENY.",
           "enum": [
             "ALLOW",
             "DENY",
@@ -47200,6 +47227,25 @@
           "format": "byte",
           "type": "string"
         },
+        "ipv6AccessConfigs": {
+          "description": "An array of IPv6 access configurations for this interface. Currently, only one IPv6 access config, DIRECT_IPV6, is supported. If there is no ipv6AccessConfig specified, then this instance will have no external IPv6 Internet access.",
+          "items": {
+            "$ref": "AccessConfig"
+          },
+          "type": "array"
+        },
+        "ipv6AccessType": {
+          "description": "[Output Only] One of EXTERNAL, INTERNAL to indicate whether the IP can be accessed from the Internet. This field is always inherited from its subnetwork.\n\nValid only if stackType is IPV4_IPV6.",
+          "enum": [
+            "EXTERNAL",
+            "UNSPECIFIED_IPV6_ACCESS_TYPE"
+          ],
+          "enumDescriptions": [
+            "",
+            ""
+          ],
+          "type": "string"
+        },
         "ipv6Address": {
           "description": "[Output Only] An IPv6 internal network address for this network interface.",
           "type": "string"
@@ -47235,6 +47281,20 @@
           ],
           "type": "string"
         },
+        "stackType": {
+          "description": "The stack type for this network interface to identify whether the IPv6 feature is enabled or not. If not specified, IPV4_ONLY will be used.\n\nThis field can be both set at instance creation and update network interface operations.",
+          "enum": [
+            "IPV4_IPV6",
+            "IPV4_ONLY",
+            "UNSPECIFIED_STACK_TYPE"
+          ],
+          "enumDescriptions": [
+            "",
+            "",
+            ""
+          ],
+          "type": "string"
+        },
         "subnetwork": {
           "description": "The URL of the Subnetwork resource for this instance. If the network resource is in legacy mode, do not specify this field. If the network is in auto subnet mode, specifying the subnetwork is optional. If the network is in custom subnet mode, specifying the subnetwork is required. If you specify this field, you can specify the subnetwork as a full or partial URL. For example, the following are all valid URLs:  \n- https://www.googleapis.com/compute/v1/projects/project/regions/region/subnetworks/subnetwork \n- regions/region/subnetworks/subnetwork",
           "type": "string"
@@ -51729,8 +51789,10 @@
             "ROUTERS",
             "ROUTES",
             "SECURITY_POLICIES",
+            "SECURITY_POLICIES_PER_REGION",
             "SECURITY_POLICY_CEVAL_RULES",
             "SECURITY_POLICY_RULES",
+            "SECURITY_POLICY_RULES_PER_REGION",
             "SNAPSHOTS",
             "SSD_TOTAL_GB",
             "SSL_CERTIFICATES",
@@ -51865,6 +51927,8 @@
             "",
             "",
             "",
+            "",
+            "",
             ""
           ],
           "type": "string"
@@ -55935,7 +55999,7 @@
       "type": "object"
     },
     "Scheduling": {
-      "description": "Sets the scheduling options for an Instance. NextID: 20",
+      "description": "Sets the scheduling options for an Instance. NextID: 21",
       "id": "Scheduling",
       "properties": {
         "automaticRestart": {
@@ -57007,7 +57071,7 @@
     "ServiceAttachmentsScopedList": {
       "id": "ServiceAttachmentsScopedList",
       "properties": {
-        "resources": {
+        "serviceAttachments": {
           "description": "A list of ServiceAttachments contained in this scope.",
           "items": {
             "$ref": "ServiceAttachment"
@@ -58493,6 +58557,10 @@
           "description": "Whether to enable flow logging for this subnetwork. If this field is not explicitly set, it will not appear in get listings. If not set the default behavior is to disable flow logging. This field isn't supported with the purpose field set to INTERNAL_HTTPS_LOAD_BALANCER.",
           "type": "boolean"
         },
+        "externalIpv6Prefix": {
+          "description": "[Output Only] The range of external IPv6 addresses that are owned by this subnetwork.",
+          "type": "string"
+        },
         "fingerprint": {
           "description": "Fingerprint of this resource. A hash of the contents stored in this object. This field is used in optimistic locking. This field will be ignored when inserting a Subnetwork. An up-to-date fingerprint must be provided in order to update the Subnetwork, otherwise the request will fail with error 412 conditionNotMet.\n\nTo see the latest fingerprint, make a get() request to retrieve a Subnetwork.",
           "format": "byte",
@@ -58511,6 +58579,18 @@
           "description": "The range of internal addresses that are owned by this subnetwork. Provide this property when you create the subnetwork. For example, 10.0.0.0/8 or 100.64.0.0/10. Ranges must be unique and non-overlapping within a network. Only IPv4 is supported. This field is set at resource creation time. The range can be any range listed in the Valid ranges list. The range can be expanded after creation using expandIpCidrRange.",
           "type": "string"
         },
+        "ipv6AccessType": {
+          "description": "The access type of IPv6 address this subnet holds. It's immutable and can only be specified during creation or the first time the subnet is updated into IPV4_IPV6 dual stack. If the ipv6_type is EXTERNAL then this subnet cannot enable direct path.",
+          "enum": [
+            "EXTERNAL",
+            "UNSPECIFIED_IPV6_ACCESS_TYPE"
+          ],
+          "enumDescriptions": [
+            "",
+            ""
+          ],
+          "type": "string"
+        },
         "ipv6CidrRange": {
           "description": "[Output Only] The range of internal IPv6 addresses that are owned by this subnetwork.",
           "type": "string"
@@ -58594,6 +58674,20 @@
           "description": "[Output Only] Server-defined URL for the resource.",
           "type": "string"
         },
+        "stackType": {
+          "description": "The stack type for this subnet to identify whether the IPv6 feature is enabled or not. If not specified IPV4_ONLY will be used.\n\nThis field can be both set at resource creation time and updated using patch.",
+          "enum": [
+            "IPV4_IPV6",
+            "IPV4_ONLY",
+            "UNSPECIFIED_STACK_TYPE"
+          ],
+          "enumDescriptions": [
+            "",
+            "",
+            ""
+          ],
+          "type": "string"
+        },
         "state": {
           "description": "[Output Only] The state of the subnetwork, which can be one of the following values: READY: Subnetwork is created and ready to use DRAINING: only applicable to subnetworks that have the purpose set to INTERNAL_HTTPS_LOAD_BALANCER and indicates that connections to the load balancer are being drained. A subnetwork that is draining cannot be used or modified until it reaches a status of READY",
           "enum": [
@@ -59815,7 +59909,7 @@
       "id": "TargetHttpsProxiesSetSslCertificatesRequest",
       "properties": {
         "sslCertificates": {
-          "description": "New set of SslCertificate resources to associate with this TargetHttpsProxy resource. Currently exactly one SslCertificate resource must be specified.",
+          "description": "New set of SslCertificate resources to associate with this TargetHttpsProxy resource. At least one SSL certificate must be specified. Currently, you may specify up to 15 SSL certificates.",
           "items": {
             "type": "string"
           },
@@ -59906,7 +60000,7 @@
           "type": "string"
         },
         "sslCertificates": {
-          "description": "URLs to SslCertificate resources that are used to authenticate connections between users and the load balancer. At least one SSL certificate must be specified. Currently, you may specify up to 15 SSL certificates.",
+          "description": "URLs to SslCertificate resources that are used to authenticate connections between users and the load balancer. At least one SSL certificate must be specified. Currently, you may specify up to 15 SSL certificates. sslCertificates do not apply when the load balancing scheme is set to INTERNAL_SELF_MANAGED.",
           "items": {
             "type": "string"
           },
@@ -61087,7 +61181,7 @@
       "id": "TargetSslProxiesSetSslCertificatesRequest",
       "properties": {
         "sslCertificates": {
-          "description": "New set of URLs to SslCertificate resources to associate with this TargetSslProxy. Currently exactly one ssl certificate must be specified.",
+          "description": "New set of URLs to SslCertificate resources to associate with this TargetSslProxy. At least one SSL certificate must be specified. Currently, you may specify up to 15 SSL certificates.",
           "items": {
             "type": "string"
           },
@@ -61144,7 +61238,7 @@
           "type": "string"
         },
         "sslCertificates": {
-          "description": "URLs to SslCertificate resources that are used to authenticate connections to Backends. At least one SSL certificate must be specified. Currently, you may specify up to 15 SSL certificates.",
+          "description": "URLs to SslCertificate resources that are used to authenticate connections to Backends. At least one SSL certificate must be specified. Currently, you may specify up to 15 SSL certificates. sslCertificates do not apply when the load balancing scheme is set to INTERNAL_SELF_MANAGED.",
           "items": {
             "type": "string"
           },
diff --git a/googleapiclient/discovery_cache/documents/compute.v1.json b/googleapiclient/discovery_cache/documents/compute.v1.json
index 59b48b6..fd83bbc 100644
--- a/googleapiclient/discovery_cache/documents/compute.v1.json
+++ b/googleapiclient/discovery_cache/documents/compute.v1.json
@@ -29,7 +29,7 @@
   "description": "Creates and runs virtual machines on Google Cloud Platform.",
   "discoveryVersion": "v1",
   "documentationLink": "https://developers.google.com/compute/docs/reference/latest/",
-  "etag": "\"uWj2hSb4GVjzdDlAnRd2gbM1ZQ8/PpBdeGiizCXCXx-f24-1pqppw9k\"",
+  "etag": "\"uWj2hSb4GVjzdDlAnRd2gbM1ZQ8/WWlS1HDqBwuquVuC1AYpLT4MKjU\"",
   "icons": {
     "x16": "https://www.google.com/images/icons/product/compute_engine-16.png",
     "x32": "https://www.google.com/images/icons/product/compute_engine-32.png"
@@ -27120,7 +27120,7 @@
       }
     }
   },
-  "revision": "20210415",
+  "revision": "20210505",
   "rootUrl": "https://compute.googleapis.com/",
   "schemas": {
     "AcceleratorConfig": {
@@ -27527,6 +27527,15 @@
       "description": "An access configuration attached to an instance's network interface. Only one access config per instance is supported.",
       "id": "AccessConfig",
       "properties": {
+        "externalIpv6": {
+          "description": "[Output Only] The first IPv6 address of the external IPv6 range associated with this instance, prefix length is stored in externalIpv6PrefixLength in ipv6AccessConfig. The field is output only, an IPv6 address from a subnetwork associated with the instance will be allocated dynamically.",
+          "type": "string"
+        },
+        "externalIpv6PrefixLength": {
+          "description": "[Output Only] The prefix length of the external IPv6 range.",
+          "format": "int32",
+          "type": "integer"
+        },
         "kind": {
           "default": "compute#accessConfig",
           "description": "[Output Only] Type of the resource. Always compute#accessConfig for access configs.",
@@ -27564,9 +27573,11 @@
           "default": "ONE_TO_ONE_NAT",
           "description": "The type of configuration. The default and only option is ONE_TO_ONE_NAT.",
           "enum": [
+            "DIRECT_IPV6",
             "ONE_TO_ONE_NAT"
           ],
           "enumDescriptions": [
+            "",
             ""
           ],
           "type": "string"
@@ -29458,8 +29469,7 @@
           "description": "Cloud CDN configuration for this BackendService. Only available for  external HTTP(S) Load Balancing."
         },
         "circuitBreakers": {
-          "$ref": "CircuitBreakers",
-          "description": "Settings controlling the volume of connections to a backend service. If not set, this feature is considered disabled.\n\nThis field is applicable to either:  \n- A regional backend service with the service_protocol set to HTTP, HTTPS, or HTTP2, and load_balancing_scheme set to INTERNAL_MANAGED. \n- A global backend service with the load_balancing_scheme set to INTERNAL_SELF_MANAGED.  \n\nNot supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true."
+          "$ref": "CircuitBreakers"
         },
         "connectionDraining": {
           "$ref": "ConnectionDraining"
@@ -29570,7 +29580,7 @@
         },
         "maxStreamDuration": {
           "$ref": "Duration",
-          "description": "Specifies the default maximum duration (timeout) for streams to this service. Duration is computed from the beginning of the stream until the response has been completely processed, including all retries. A stream that does not complete in this duration is closed.\nIf not specified, there will be no timeout limit, i.e. the maximum duration is infinite.\nThis field is only allowed when the loadBalancingScheme of the backend service is INTERNAL_SELF_MANAGED."
+          "description": "Specifies the default maximum duration (timeout) for streams to this service. Duration is computed from the beginning of the stream until the response has been completely processed, including all retries. A stream that does not complete in this duration is closed.\nIf not specified, there will be no timeout limit, i.e. the maximum duration is infinite.\nThis value can be overridden in the PathMatcher configuration of the UrlMap that references this backend service.\nThis field is only allowed when the loadBalancingScheme of the backend service is INTERNAL_SELF_MANAGED."
         },
         "name": {
           "description": "Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.",
@@ -29657,7 +29667,7 @@
           "type": "string"
         },
         "timeoutSec": {
-          "description": "The backend service timeout has a different meaning depending on the type of load balancer. For more information see,  Backend service settings The default is 30 seconds. The full range of timeout values allowed is 1 - 2,147,483,647 seconds.",
+          "description": "Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true. Instead, use maxStreamDuration.",
           "format": "int32",
           "type": "integer"
         }
@@ -30231,6 +30241,7 @@
       "type": "object"
     },
     "BulkInsertInstanceResource": {
+      "description": "A transient resource used in compute.instances.bulkInsert and compute.regionInstances.bulkInsert and compute.regionInstances.recommendLocations. This resource is not persisted anywhere, it is used only for processing the requests.",
       "id": "BulkInsertInstanceResource",
       "properties": {
         "count": {
@@ -30331,12 +30342,12 @@
       "id": "CircuitBreakers",
       "properties": {
         "maxConnections": {
-          "description": "The maximum number of connections to the backend service. If not specified, there is no limit.",
+          "description": "Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.",
           "format": "int32",
           "type": "integer"
         },
         "maxPendingRequests": {
-          "description": "The maximum number of pending requests allowed to the backend service. If not specified, there is no limit.",
+          "description": "Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.",
           "format": "int32",
           "type": "integer"
         },
@@ -30346,12 +30357,12 @@
           "type": "integer"
         },
         "maxRequestsPerConnection": {
-          "description": "Maximum requests for a single connection to the backend service. This parameter is respected by both the HTTP/1.1 and HTTP/2 implementations. If not specified, there is no limit. Setting this parameter to 1 will effectively disable keep alive.",
+          "description": "Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.",
           "format": "int32",
           "type": "integer"
         },
         "maxRetries": {
-          "description": "The maximum number of parallel retries allowed to the backend cluster. If not specified, the default is 1.",
+          "description": "Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.",
           "format": "int32",
           "type": "integer"
         }
@@ -33240,7 +33251,7 @@
           "type": "string"
         },
         "IPProtocol": {
-          "description": "The IP protocol to which this rule applies.\n\nFor protocol forwarding, valid options are TCP, UDP, ESP, AH, SCTP and ICMP.\n\nThe valid IP protocols are different for different load balancing products:  \n- Internal TCP/UDP Load Balancing: The load balancing scheme is INTERNAL, and one of TCP, UDP or ALL is valid. \n- Traffic Director: The load balancing scheme is INTERNAL_SELF_MANAGED, and only TCP is valid.  \n- Internal HTTP(S) Load Balancing: The load balancing scheme is INTERNAL_MANAGED, and only TCP is valid. \n- HTTP(S), SSL Proxy, and TCP Proxy Load Balancing: The load balancing scheme is EXTERNAL and only TCP is valid. \n- Network Load Balancing: The load balancing scheme is EXTERNAL, and one of TCP or UDP is valid.",
+          "description": "The IP protocol to which this rule applies.\n\nFor protocol forwarding, valid options are TCP, UDP, ESP, AH, SCTP, ICMP and L3_DEFAULT.\n\nThe valid IP protocols are different for different load balancing products:  \n- Internal TCP/UDP Load Balancing: The load balancing scheme is INTERNAL, and one of TCP, UDP or L3_DEFAULT is valid. \n- Traffic Director: The load balancing scheme is INTERNAL_SELF_MANAGED, and only TCP is valid.  \n- Internal HTTP(S) Load Balancing: The load balancing scheme is INTERNAL_MANAGED, and only TCP is valid. \n- HTTP(S), SSL Proxy, and TCP Proxy Load Balancing: The load balancing scheme is EXTERNAL and only TCP is valid. \n- Network Load Balancing: The load balancing scheme is EXTERNAL, and one of TCP, UDP or L3_DEFAULT is valid.",
           "enum": [
             "AH",
             "ESP",
@@ -33260,7 +33271,7 @@
           "type": "string"
         },
         "allPorts": {
-          "description": "This field is used along with the backend_service field for internal load balancing or with the target field for internal TargetInstance. This field cannot be used with port or portRange fields.\n\nWhen the load balancing scheme is INTERNAL and protocol is TCP/UDP, specify this field to allow packets addressed to any ports will be forwarded to the backends configured with this forwarding rule.",
+          "description": "This field is used along with the backend_service field for Internal TCP/UDP Load Balancing or Network Load Balancing, or with the target field for internal and external TargetInstance.\n\nYou can only use one of ports and port_range, or allPorts. The three are mutually exclusive.\n\nFor TCP, UDP and SCTP traffic, packets addressed to any ports will be forwarded to the target or backendService.",
           "type": "boolean"
         },
         "allowGlobalAccess": {
@@ -33371,11 +33382,11 @@
           "type": "string"
         },
         "portRange": {
-          "description": "This field can be used only if: * Load balancing scheme is one of EXTERNAL,  INTERNAL_SELF_MANAGED or INTERNAL_MANAGED, and * IPProtocol is one of TCP, UDP, or SCTP.\n\nPackets addressed to ports in the specified range will be forwarded to target or  backend_service. You can only use one of ports, port_range, or allPorts. The three are mutually exclusive. Forwarding rules with the same [IPAddress, IPProtocol] pair must have disjoint port ranges.\n\nSome types of forwarding target have constraints on the acceptable ports:  \n- TargetHttpProxy: 80, 8080 \n- TargetHttpsProxy: 443 \n- TargetGrpcProxy: no constraints \n- TargetTcpProxy: 25, 43, 110, 143, 195, 443, 465, 587, 700, 993, 995, 1688, 1883, 5222 \n- TargetSslProxy: 25, 43, 110, 143, 195, 443, 465, 587, 700, 993, 995, 1688, 1883, 5222 \n- TargetVpnGateway: 500, 4500",
+          "description": "This field can be used only if:  \n- Load balancing scheme is one of EXTERNAL,  INTERNAL_SELF_MANAGED or INTERNAL_MANAGED \n- IPProtocol is one of TCP, UDP, or SCTP.  \n\nPackets addressed to ports in the specified range will be forwarded to target or  backend_service.\n\nYou can only use one of ports, port_range, or allPorts. The three are mutually exclusive.\n\nForwarding rules with the same [IPAddress, IPProtocol] pair must have disjoint ports.\n\nSome types of forwarding target have constraints on the acceptable ports:  \n- TargetHttpProxy: 80, 8080 \n- TargetHttpsProxy: 443 \n- TargetGrpcProxy: no constraints \n- TargetTcpProxy: 25, 43, 110, 143, 195, 443, 465, 587, 700, 993, 995, 1688, 1883, 5222 \n- TargetSslProxy: 25, 43, 110, 143, 195, 443, 465, 587, 700, 993, 995, 1688, 1883, 5222 \n- TargetVpnGateway: 500, 4500",
           "type": "string"
         },
         "ports": {
-          "description": "The ports field is only supported when the forwarding rule references a backend_service directly. Supported load balancing products are Internal TCP/UDP Load Balancing and Network Load Balancing. Only packets addressed to the specified list of ports are forwarded to backends.\n\nYou can only use one of ports and port_range, or allPorts. The three are mutually exclusive.\n\nYou can specify a list of up to five ports, which can be non-contiguous.\n\nFor Internal TCP/UDP Load Balancing, if you specify allPorts, you should not specify ports.\n\nFor more information, see [Port specifications](/load-balancing/docs/forwarding-rule-concepts#port_specifications).",
+          "description": "The ports field is only supported when the forwarding rule references a backend_service directly. Supported load balancing products are Internal TCP/UDP Load Balancing and Network Load Balancing. Only packets addressed to the specified list of ports are forwarded to backends.\n\nYou can only use one of ports and port_range, or allPorts. The three are mutually exclusive.\n\nYou can specify a list of up to five ports, which can be non-contiguous.\n\nForwarding rules with the same [IPAddress, IPProtocol] pair must have disjoint ports.\n\nFor more information, see [Port specifications](/load-balancing/docs/forwarding-rule-concepts#port_specifications).",
           "items": {
             "type": "string"
           },
@@ -34417,7 +34428,7 @@
           "type": "string"
         },
         "healthChecks": {
-          "description": "List of URLs to the HealthCheck resources. Must have at least one HealthCheck, and not more than 10. HealthCheck resources must have portSpecification=USE_SERVING_PORT. For regional HealthCheckService, the HealthCheck must be regional and in the same region. For global HealthCheckService, HealthCheck must be global. Mix of regional and global HealthChecks is not supported. Multiple regional HealthChecks must belong to the same region. Regional HealthChecks</code? must belong to the same region as zones of NEGs.",
+          "description": "List of URLs to the HealthCheck resources. Must have at least one HealthCheck, and not more than 10. HealthCheck resources must have portSpecification=USE_SERVING_PORT or portSpecification=USE_FIXED_PORT. For regional HealthCheckService, the HealthCheck must be regional and in the same region. For global HealthCheckService, HealthCheck must be global. Mix of regional and global HealthChecks is not supported. Multiple regional HealthChecks must belong to the same region. Regional HealthChecks must belong to the same region as zones of NEGs.",
           "items": {
             "type": "string"
           },
@@ -34950,7 +34961,7 @@
       "id": "HttpFaultAbort",
       "properties": {
         "httpStatus": {
-          "description": "The HTTP status code used to abort the request.\nThe value must be between 200 and 599 inclusive.",
+          "description": "The HTTP status code used to abort the request.\nThe value must be between 200 and 599 inclusive.\nFor gRPC protocol, the gRPC status code is mapped to HTTP status code according to this  mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.",
           "format": "uint32",
           "type": "integer"
         },
@@ -35351,7 +35362,7 @@
           "description": "Specifies a non-zero timeout per retry attempt.\nIf not specified, will use the timeout set in HttpRouteAction. If timeout in HttpRouteAction is not set, will use the largest timeout among all backend services associated with the route."
         },
         "retryConditions": {
-          "description": "Specfies one or more conditions when this retry rule applies. Valid values are:  \n- 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, or if the backend service does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams. \n- gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.\n- \n- connect-failure: Loadbalancer will retry on failures connecting to backend services, for example due to connection timeouts. \n- retriable-4xx: Loadbalancer will retry for retriable 4xx response codes. Currently the only retriable error supported is 409. \n- refused-stream:Loadbalancer will retry if the backend service resets the stream with a REFUSED_STREAM error code. This reset type indicates that it is safe to retry. \n- cancelledLoadbalancer will retry if the gRPC status code in the response header is set to cancelled \n- deadline-exceeded: Loadbalancer will retry if the gRPC status code in the response header is set to deadline-exceeded \n- resource-exhausted: Loadbalancer will retry if the gRPC status code in the response header is set to resource-exhausted \n- unavailable: Loadbalancer will retry if the gRPC status code in the response header is set to unavailable",
+          "description": "Specifies one or more conditions when this retry rule applies. Valid values are:  \n- 5xx: Loadbalancer will attempt a retry if the backend service responds with any 5xx response code, or if the backend service does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams. \n- gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504.\n- \n- connect-failure: Loadbalancer will retry on failures connecting to backend services, for example due to connection timeouts. \n- retriable-4xx: Loadbalancer will retry for retriable 4xx response codes. Currently the only retriable error supported is 409. \n- refused-stream:Loadbalancer will retry if the backend service resets the stream with a REFUSED_STREAM error code. This reset type indicates that it is safe to retry. \n- cancelledLoadbalancer will retry if the gRPC status code in the response header is set to cancelled \n- deadline-exceeded: Loadbalancer will retry if the gRPC status code in the response header is set to deadline-exceeded \n- resource-exhausted: Loadbalancer will retry if the gRPC status code in the response header is set to resource-exhausted \n- unavailable: Loadbalancer will retry if the gRPC status code in the response header is set to unavailable",
           "items": {
             "type": "string"
           },
@@ -35369,7 +35380,7 @@
         },
         "faultInjectionPolicy": {
           "$ref": "HttpFaultInjection",
-          "description": "The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests.\ntimeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy.\nNot supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true."
+          "description": "The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by Loadbalancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the Loadbalancer for a percentage of requests.\ntimeout and retry_policy will be ignored by clients that are configured with a fault_injection_policy."
         },
         "maxStreamDuration": {
           "$ref": "Duration",
@@ -35774,12 +35785,7 @@
               "type": "string"
             },
             "source": {
-              "annotations": {
-                "required": [
-                  "compute.images.insert"
-                ]
-              },
-              "description": "The full Google Cloud Storage URL where the disk image is stored. You must provide either this property or the sourceDisk property but not both.",
+              "description": "The full Google Cloud Storage URL where the disk image is stored.\n\nIn order to create an image, you must provide the full or partial URL of one of the following:  \n- The rawDisk.source URL  \n- The sourceDisk URL  \n- The sourceImage URL  \n- The sourceSnapshot URL",
               "type": "string"
             }
           },
@@ -35798,7 +35804,7 @@
           "description": "Set the secure boot keys of shielded instance."
         },
         "sourceDisk": {
-          "description": "URL of the source disk used to create this image. This can be a full or valid partial URL. You must provide either this property or the rawDisk.source property but not both to create an image. For example, the following are valid values:  \n- https://www.googleapis.com/compute/v1/projects/project/zones/zone/disks/disk \n- projects/project/zones/zone/disks/disk \n- zones/zone/disks/disk",
+          "description": "URL of the source disk used to create this image. For example, the following are valid values:  \n- https://www.googleapis.com/compute/v1/projects/project/zones/zone/disks/disk \n- projects/project/zones/zone/disks/disk \n- zones/zone/disks/disk \n\nIn order to create an image, you must provide the full or partial URL of one of the following:  \n- The rawDisk.source URL  \n- The sourceDisk URL  \n- The sourceImage URL  \n- The sourceSnapshot URL",
           "type": "string"
         },
         "sourceDiskEncryptionKey": {
@@ -35810,7 +35816,7 @@
           "type": "string"
         },
         "sourceImage": {
-          "description": "URL of the source image used to create this image.\n\nIn order to create an image, you must provide the full or partial URL of one of the following:  \n- The selfLink URL  \n- This property  \n- The rawDisk.source URL  \n- The sourceDisk URL",
+          "description": "URL of the source image used to create this image.\n\nIn order to create an image, you must provide the full or partial URL of one of the following:  \n- The rawDisk.source URL  \n- The sourceDisk URL  \n- The sourceImage URL  \n- The sourceSnapshot URL",
           "type": "string"
         },
         "sourceImageEncryptionKey": {
@@ -35822,7 +35828,7 @@
           "type": "string"
         },
         "sourceSnapshot": {
-          "description": "URL of the source snapshot used to create this image.\n\nIn order to create an image, you must provide the full or partial URL of one of the following:  \n- The selfLink URL  \n- This property \n- The sourceImage URL  \n- The rawDisk.source URL  \n- The sourceDisk URL",
+          "description": "URL of the source snapshot used to create this image.\n\nIn order to create an image, you must provide the full or partial URL of one of the following:  \n- The rawDisk.source URL  \n- The sourceDisk URL  \n- The sourceImage URL  \n- The sourceSnapshot URL",
           "type": "string"
         },
         "sourceSnapshotEncryptionKey": {
@@ -36676,7 +36682,7 @@
       "type": "object"
     },
     "InstanceGroupManager": {
-      "description": "Represents a Managed Instance Group resource.\n\nAn instance group is a collection of VM instances that you can manage as a single entity. For more information, read Instance groups.\n\nFor zonal Managed Instance Group, use the instanceGroupManagers resource.\n\nFor regional Managed Instance Group, use the regionInstanceGroupManagers resource. (== resource_for {$api_version}.instanceGroupManagers ==) (== resource_for {$api_version}.regionInstanceGroupManagers ==)",
+      "description": "Whether the instance is a standby. Properties of a standby instance comparing to the regular instance: ========================================================================= | regular | standby ========================================================================= managed by IGM? | yes | yes added to the IG? | yes | yes counts towards IGM's target size? | yes | no taken into account by Autoscaler? | yes | no receives traffic from LB? | yes | no =========================================================================\n\nRepresents a Managed Instance Group resource.\n\nAn instance group is a collection of VM instances that you can manage as a single entity. For more information, read Instance groups.\n\nFor zonal Managed Instance Group, use the instanceGroupManagers resource.\n\nFor regional Managed Instance Group, use the regionInstanceGroupManagers resource. (== resource_for {$api_version}.instanceGroupManagers ==) (== resource_for {$api_version}.regionInstanceGroupManagers ==)",
       "id": "InstanceGroupManager",
       "properties": {
         "autoHealingPolicies": {
@@ -40515,7 +40521,7 @@
       "id": "LocationPolicyLocation",
       "properties": {
         "preference": {
-          "description": "Preference for a given locaction: ALLOW or DENY.",
+          "description": "Preference for a given location: ALLOW or DENY.",
           "enum": [
             "ALLOW",
             "DENY",
@@ -42134,6 +42140,25 @@
           "format": "byte",
           "type": "string"
         },
+        "ipv6AccessConfigs": {
+          "description": "An array of IPv6 access configurations for this interface. Currently, only one IPv6 access config, DIRECT_IPV6, is supported. If there is no ipv6AccessConfig specified, then this instance will have no external IPv6 Internet access.",
+          "items": {
+            "$ref": "AccessConfig"
+          },
+          "type": "array"
+        },
+        "ipv6AccessType": {
+          "description": "[Output Only] One of EXTERNAL, INTERNAL to indicate whether the IP can be accessed from the Internet. This field is always inherited from its subnetwork.\n\nValid only if stackType is IPV4_IPV6.",
+          "enum": [
+            "EXTERNAL",
+            "UNSPECIFIED_IPV6_ACCESS_TYPE"
+          ],
+          "enumDescriptions": [
+            "",
+            ""
+          ],
+          "type": "string"
+        },
         "ipv6Address": {
           "description": "[Output Only] An IPv6 internal network address for this network interface.",
           "type": "string"
@@ -42169,6 +42194,20 @@
           ],
           "type": "string"
         },
+        "stackType": {
+          "description": "The stack type for this network interface to identify whether the IPv6 feature is enabled or not. If not specified, IPV4_ONLY will be used.\n\nThis field can be both set at instance creation and update network interface operations.",
+          "enum": [
+            "IPV4_IPV6",
+            "IPV4_ONLY",
+            "UNSPECIFIED_STACK_TYPE"
+          ],
+          "enumDescriptions": [
+            "",
+            "",
+            ""
+          ],
+          "type": "string"
+        },
         "subnetwork": {
           "description": "The URL of the Subnetwork resource for this instance. If the network resource is in legacy mode, do not specify this field. If the network is in auto subnet mode, specifying the subnetwork is optional. If the network is in custom subnet mode, specifying the subnetwork is required. If you specify this field, you can specify the subnetwork as a full or partial URL. For example, the following are all valid URLs:  \n- https://www.googleapis.com/compute/v1/projects/project/regions/region/subnetworks/subnetwork \n- regions/region/subnetworks/subnetwork",
           "type": "string"
@@ -46542,8 +46581,10 @@
             "ROUTERS",
             "ROUTES",
             "SECURITY_POLICIES",
+            "SECURITY_POLICIES_PER_REGION",
             "SECURITY_POLICY_CEVAL_RULES",
             "SECURITY_POLICY_RULES",
+            "SECURITY_POLICY_RULES_PER_REGION",
             "SNAPSHOTS",
             "SSD_TOTAL_GB",
             "SSL_CERTIFICATES",
@@ -46677,6 +46718,8 @@
             "",
             "",
             "",
+            "",
+            "",
             ""
           ],
           "type": "string"
@@ -50523,7 +50566,7 @@
       "type": "object"
     },
     "Scheduling": {
-      "description": "Sets the scheduling options for an Instance. NextID: 20",
+      "description": "Sets the scheduling options for an Instance. NextID: 21",
       "id": "Scheduling",
       "properties": {
         "automaticRestart": {
@@ -52164,6 +52207,10 @@
           "description": "Whether to enable flow logging for this subnetwork. If this field is not explicitly set, it will not appear in get listings. If not set the default behavior is to disable flow logging. This field isn't supported with the purpose field set to INTERNAL_HTTPS_LOAD_BALANCER.",
           "type": "boolean"
         },
+        "externalIpv6Prefix": {
+          "description": "[Output Only] The range of external IPv6 addresses that are owned by this subnetwork.",
+          "type": "string"
+        },
         "fingerprint": {
           "description": "Fingerprint of this resource. A hash of the contents stored in this object. This field is used in optimistic locking. This field will be ignored when inserting a Subnetwork. An up-to-date fingerprint must be provided in order to update the Subnetwork, otherwise the request will fail with error 412 conditionNotMet.\n\nTo see the latest fingerprint, make a get() request to retrieve a Subnetwork.",
           "format": "byte",
@@ -52182,6 +52229,18 @@
           "description": "The range of internal addresses that are owned by this subnetwork. Provide this property when you create the subnetwork. For example, 10.0.0.0/8 or 100.64.0.0/10. Ranges must be unique and non-overlapping within a network. Only IPv4 is supported. This field is set at resource creation time. The range can be any range listed in the Valid ranges list. The range can be expanded after creation using expandIpCidrRange.",
           "type": "string"
         },
+        "ipv6AccessType": {
+          "description": "The access type of IPv6 address this subnet holds. It's immutable and can only be specified during creation or the first time the subnet is updated into IPV4_IPV6 dual stack. If the ipv6_type is EXTERNAL then this subnet cannot enable direct path.",
+          "enum": [
+            "EXTERNAL",
+            "UNSPECIFIED_IPV6_ACCESS_TYPE"
+          ],
+          "enumDescriptions": [
+            "",
+            ""
+          ],
+          "type": "string"
+        },
         "ipv6CidrRange": {
           "description": "[Output Only] The range of internal IPv6 addresses that are owned by this subnetwork.",
           "type": "string"
@@ -52263,6 +52322,20 @@
           "description": "[Output Only] Server-defined URL for the resource.",
           "type": "string"
         },
+        "stackType": {
+          "description": "The stack type for this subnet to identify whether the IPv6 feature is enabled or not. If not specified IPV4_ONLY will be used.\n\nThis field can be both set at resource creation time and updated using patch.",
+          "enum": [
+            "IPV4_IPV6",
+            "IPV4_ONLY",
+            "UNSPECIFIED_STACK_TYPE"
+          ],
+          "enumDescriptions": [
+            "",
+            "",
+            ""
+          ],
+          "type": "string"
+        },
         "state": {
           "description": "[Output Only] The state of the subnetwork, which can be one of the following values: READY: Subnetwork is created and ready to use DRAINING: only applicable to subnetworks that have the purpose set to INTERNAL_HTTPS_LOAD_BALANCER and indicates that connections to the load balancer are being drained. A subnetwork that is draining cannot be used or modified until it reaches a status of READY",
           "enum": [
@@ -53374,7 +53447,7 @@
       "id": "TargetHttpsProxiesSetSslCertificatesRequest",
       "properties": {
         "sslCertificates": {
-          "description": "New set of SslCertificate resources to associate with this TargetHttpsProxy resource. Currently exactly one SslCertificate resource must be specified.",
+          "description": "New set of SslCertificate resources to associate with this TargetHttpsProxy resource. At least one SSL certificate must be specified. Currently, you may specify up to 15 SSL certificates.",
           "items": {
             "type": "string"
           },
@@ -53450,7 +53523,7 @@
           "type": "string"
         },
         "sslCertificates": {
-          "description": "URLs to SslCertificate resources that are used to authenticate connections between users and the load balancer. At least one SSL certificate must be specified. Currently, you may specify up to 15 SSL certificates.",
+          "description": "URLs to SslCertificate resources that are used to authenticate connections between users and the load balancer. At least one SSL certificate must be specified. Currently, you may specify up to 15 SSL certificates. sslCertificates do not apply when the load balancing scheme is set to INTERNAL_SELF_MANAGED.",
           "items": {
             "type": "string"
           },
@@ -54627,7 +54700,7 @@
       "id": "TargetSslProxiesSetSslCertificatesRequest",
       "properties": {
         "sslCertificates": {
-          "description": "New set of URLs to SslCertificate resources to associate with this TargetSslProxy. Currently exactly one ssl certificate must be specified.",
+          "description": "New set of URLs to SslCertificate resources to associate with this TargetSslProxy. At least one SSL certificate must be specified. Currently, you may specify up to 15 SSL certificates.",
           "items": {
             "type": "string"
           },
@@ -54684,7 +54757,7 @@
           "type": "string"
         },
         "sslCertificates": {
-          "description": "URLs to SslCertificate resources that are used to authenticate connections to Backends. At least one SSL certificate must be specified. Currently, you may specify up to 15 SSL certificates.",
+          "description": "URLs to SslCertificate resources that are used to authenticate connections to Backends. At least one SSL certificate must be specified. Currently, you may specify up to 15 SSL certificates. sslCertificates do not apply when the load balancing scheme is set to INTERNAL_SELF_MANAGED.",
           "items": {
             "type": "string"
           },
diff --git a/googleapiclient/discovery_cache/documents/container.v1.json b/googleapiclient/discovery_cache/documents/container.v1.json
index f5105bd..c3e1a7c 100644
--- a/googleapiclient/discovery_cache/documents/container.v1.json
+++ b/googleapiclient/discovery_cache/documents/container.v1.json
@@ -2459,7 +2459,7 @@
       }
     }
   },
-  "revision": "20210427",
+  "revision": "20210429",
   "rootUrl": "https://container.googleapis.com/",
   "schemas": {
     "AcceleratorConfig": {
@@ -3018,6 +3018,20 @@
           "$ref": "DatabaseEncryption",
           "description": "Configuration of etcd encryption."
         },
+        "desiredDatapathProvider": {
+          "description": "The desired datapath provider for the cluster.",
+          "enum": [
+            "DATAPATH_PROVIDER_UNSPECIFIED",
+            "LEGACY_DATAPATH",
+            "ADVANCED_DATAPATH"
+          ],
+          "enumDescriptions": [
+            "Default value.",
+            "Use the IPTables implementation based on kube-proxy.",
+            "Use the eBPF based GKE Dataplane V2 with additional features. See the [GKE Dataplane V2 documentation](https://cloud.google.com/kubernetes-engine/docs/how-to/dataplane-v2) for more."
+          ],
+          "type": "string"
+        },
         "desiredDefaultSnatStatus": {
           "$ref": "DefaultSnatStatus",
           "description": "The desired status of whether to disable default sNAT for this cluster."
@@ -3761,6 +3775,20 @@
       "description": "NetworkConfig reports the relative names of network & subnetwork.",
       "id": "NetworkConfig",
       "properties": {
+        "datapathProvider": {
+          "description": "The desired datapath provider for this cluster. By default, uses the IPTables-based kube-proxy implementation.",
+          "enum": [
+            "DATAPATH_PROVIDER_UNSPECIFIED",
+            "LEGACY_DATAPATH",
+            "ADVANCED_DATAPATH"
+          ],
+          "enumDescriptions": [
+            "Default value.",
+            "Use the IPTables implementation based on kube-proxy.",
+            "Use the eBPF based GKE Dataplane V2 with additional features. See the [GKE Dataplane V2 documentation](https://cloud.google.com/kubernetes-engine/docs/how-to/dataplane-v2) for more."
+          ],
+          "type": "string"
+        },
         "defaultSnatStatus": {
           "$ref": "DefaultSnatStatus",
           "description": "Whether the cluster disables default in-node sNAT rules. In-node sNAT rules will be disabled when default_snat_status is disabled. When disabled is set to false, default IP masquerade rules will be applied to the nodes to prevent sNAT on cluster internal traffic."
@@ -5257,6 +5285,39 @@
       },
       "type": "object"
     },
+    "UpgradeAvailableEvent": {
+      "description": "UpgradeAvailableEvent is a notification sent to customers when a new available version is released.",
+      "id": "UpgradeAvailableEvent",
+      "properties": {
+        "releaseChannel": {
+          "$ref": "ReleaseChannel",
+          "description": "The release channel of the version. If empty, it means a non-channel release."
+        },
+        "resource": {
+          "description": "Optional relative path to the resource. For example, the relative path of the node pool.",
+          "type": "string"
+        },
+        "resourceType": {
+          "description": "The resource type of the release version.",
+          "enum": [
+            "UPGRADE_RESOURCE_TYPE_UNSPECIFIED",
+            "MASTER",
+            "NODE_POOL"
+          ],
+          "enumDescriptions": [
+            "Default value. This shouldn't be used.",
+            "Master / control plane",
+            "Node pool"
+          ],
+          "type": "string"
+        },
+        "version": {
+          "description": "The release version available for upgrade.",
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
     "UpgradeEvent": {
       "description": "UpgradeEvent is a notification sent to customers by the cluster server when a resource is upgrading.",
       "id": "UpgradeEvent",
diff --git a/googleapiclient/discovery_cache/documents/container.v1beta1.json b/googleapiclient/discovery_cache/documents/container.v1beta1.json
index 32cc61a..0d6f790 100644
--- a/googleapiclient/discovery_cache/documents/container.v1beta1.json
+++ b/googleapiclient/discovery_cache/documents/container.v1beta1.json
@@ -3157,6 +3157,10 @@
           "$ref": "DefaultSnatStatus",
           "description": "The desired status of whether to disable default sNAT for this cluster."
         },
+        "desiredDnsConfig": {
+          "$ref": "DNSConfig",
+          "description": "DNSConfig contains clusterDNS config for this cluster."
+        },
         "desiredImageType": {
           "description": "The desired image type for the node pool. NOTE: Set the \"desired_node_pool\" field as well.",
           "type": "string"
@@ -3373,6 +3377,45 @@
       },
       "type": "object"
     },
+    "DNSConfig": {
+      "description": "DNSConfig contains the desired set of options for configuring clusterDNS.",
+      "id": "DNSConfig",
+      "properties": {
+        "clusterDns": {
+          "description": "cluster_dns indicates which in-cluster DNS provider should be used.",
+          "enum": [
+            "PROVIDER_UNSPECIFIED",
+            "PLATFORM_DEFAULT",
+            "CLOUD_DNS"
+          ],
+          "enumDescriptions": [
+            "Default value",
+            "Use GKE default DNS provider(kube-dns) for DNS resolution.",
+            "Use CloudDNS for DNS resolution."
+          ],
+          "type": "string"
+        },
+        "clusterDnsDomain": {
+          "description": "cluster_dns_domain is the suffix used for all cluster service records.",
+          "type": "string"
+        },
+        "clusterDnsScope": {
+          "description": "cluster_dns_scope indicates the scope of access to cluster DNS records.",
+          "enum": [
+            "DNS_SCOPE_UNSPECIFIED",
+            "CLUSTER_SCOPE",
+            "VPC_SCOPE"
+          ],
+          "enumDescriptions": [
+            "Default value, will be inferred as cluster scope.",
+            "DNS records are accessible from within the cluster.",
+            "DNS records are accessible from within the VPC."
+          ],
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
     "DailyMaintenanceWindow": {
       "description": "Time window specified for daily maintenance operations.",
       "id": "DailyMaintenanceWindow",
@@ -4047,6 +4090,10 @@
           "$ref": "DefaultSnatStatus",
           "description": "Whether the cluster disables default in-node sNAT rules. In-node sNAT rules will be disabled when default_snat_status is disabled. When disabled is set to false, default IP masquerade rules will be applied to the nodes to prevent sNAT on cluster internal traffic."
         },
+        "dnsConfig": {
+          "$ref": "DNSConfig",
+          "description": "DNSConfig contains clusterDNS config for this cluster."
+        },
         "enableIntraNodeVisibility": {
           "description": "Whether Intra-node visibility is enabled for this cluster. This makes same node pod to pod traffic visible for VPC network.",
           "type": "boolean"
diff --git a/googleapiclient/discovery_cache/documents/containeranalysis.v1alpha1.json b/googleapiclient/discovery_cache/documents/containeranalysis.v1alpha1.json
index 3eac38d..55be856 100644
--- a/googleapiclient/discovery_cache/documents/containeranalysis.v1alpha1.json
+++ b/googleapiclient/discovery_cache/documents/containeranalysis.v1alpha1.json
@@ -1217,7 +1217,7 @@
       }
     }
   },
-  "revision": "20210430",
+  "revision": "20210507",
   "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 32dd243..7ea3620 100644
--- a/googleapiclient/discovery_cache/documents/containeranalysis.v1beta1.json
+++ b/googleapiclient/discovery_cache/documents/containeranalysis.v1beta1.json
@@ -853,7 +853,7 @@
       }
     }
   },
-  "revision": "20210430",
+  "revision": "20210507",
   "rootUrl": "https://containeranalysis.googleapis.com/",
   "schemas": {
     "AliasContext": {
diff --git a/googleapiclient/discovery_cache/documents/content.v2.json b/googleapiclient/discovery_cache/documents/content.v2.json
index 949164f..a6a2993 100644
--- a/googleapiclient/discovery_cache/documents/content.v2.json
+++ b/googleapiclient/discovery_cache/documents/content.v2.json
@@ -3298,7 +3298,7 @@
       }
     }
   },
-  "revision": "20210503",
+  "revision": "20210505",
   "rootUrl": "https://shoppingcontent.googleapis.com/",
   "schemas": {
     "Account": {
diff --git a/googleapiclient/discovery_cache/documents/content.v21.json b/googleapiclient/discovery_cache/documents/content.v21.json
index 278418f..cf257f4 100644
--- a/googleapiclient/discovery_cache/documents/content.v21.json
+++ b/googleapiclient/discovery_cache/documents/content.v21.json
@@ -5444,7 +5444,7 @@
       }
     }
   },
-  "revision": "20210503",
+  "revision": "20210505",
   "rootUrl": "https://shoppingcontent.googleapis.com/",
   "schemas": {
     "Account": {
@@ -13805,7 +13805,7 @@
           "$ref": "SettlementTransactionAmountCommission"
         },
         "description": {
-          "description": "The description of the event. Acceptable values are: - \"`taxWithhold`\" - \"`principal`\" - \"`principalAdjustment`\" - \"`shippingFee`\" - \"`merchantRemittedSalesTax`\" - \"`googleRemittedSalesTax`\" - \"`merchantCoupon`\" - \"`merchantCouponTax`\" - \"`merchantRemittedDisposalTax`\" - \"`googleRemittedDisposalTax`\" - \"`merchantRemittedRedemptionFee`\" - \"`googleRemittedRedemptionFee`\" - \"`eeeEcoFee`\" - \"`furnitureEcoFee`\" - \"`copyPrivateFee`\" - \"`eeeEcoFeeCommission`\" - \"`furnitureEcoFeeCommission`\" - \"`copyPrivateFeeCommission`\" - \"`principalRefund`\" - \"`principalRefundTax`\" - \"`itemCommission`\" - \"`adjustmentCommission`\" - \"`shippingFeeCommission`\" - \"`commissionRefund`\" - \"`damaged`\" - \"`damagedOrDefectiveItem`\" - \"`expiredItem`\" - \"`faultyItem`\" - \"`incorrectItemReceived`\" - \"`itemMissing`\" - \"`qualityNotExpected`\" - \"`receivedTooLate`\" - \"`storePackageMissing`\" - \"`transitPackageMissing`\" - \"`unsuccessfulDeliveryUndeliverable`\" - \"`wrongChargeInStore`\" - \"`wrongItem`\" - \"`returns`\" - \"`undeliverable`\" - \"`issueRelatedRefundAndReplacementAmountDescription`\" - \"`refundFromMerchant`\" - \"`returnLabelShippingFee`\" - \"`lumpSumCorrection`\" - \"`pspFee`\" ",
+          "description": "The description of the event. Acceptable values are: - \"`taxWithhold`\" - \"`principal`\" - \"`principalAdjustment`\" - \"`shippingFee`\" - \"`merchantRemittedSalesTax`\" - \"`googleRemittedSalesTax`\" - \"`merchantCoupon`\" - \"`merchantCouponTax`\" - \"`merchantRemittedDisposalTax`\" - \"`googleRemittedDisposalTax`\" - \"`merchantRemittedRedemptionFee`\" - \"`googleRemittedRedemptionFee`\" - \"`eeeEcoFee`\" - \"`furnitureEcoFee`\" - \"`copyPrivateFee`\" - \"`eeeEcoFeeCommission`\" - \"`furnitureEcoFeeCommission`\" - \"`copyPrivateFeeCommission`\" - \"`principalRefund`\" - \"`principalRefundTax`\" - \"`itemCommission`\" - \"`adjustmentCommission`\" - \"`shippingFeeCommission`\" - \"`commissionRefund`\" - \"`damaged`\" - \"`damagedOrDefectiveItem`\" - \"`expiredItem`\" - \"`faultyItem`\" - \"`incorrectItemReceived`\" - \"`itemMissing`\" - \"`qualityNotExpected`\" - \"`receivedTooLate`\" - \"`storePackageMissing`\" - \"`transitPackageMissing`\" - \"`unsuccessfulDeliveryUndeliverable`\" - \"`wrongChargeInStore`\" - \"`wrongItem`\" - \"`returns`\" - \"`undeliverable`\" - \"`issueRelatedRefundAndReplacementAmountDescription`\" - \"`refundFromMerchant`\" - \"`returnLabelShippingFee`\" - \"`lumpSumCorrection`\" - \"`pspFee`\" - \"`principalRefundDoesNotFit`\" - \"`principalRefundOrderedWrongItem`\" - \"`principalRefundQualityNotExpected`\" - \"`principalRefundBetterPriceFound`\" - \"`principalRefundNoLongerNeeded`\" - \"`principalRefundChangedMind`\" - \"`principalRefundReceivedTooLate`\" - \"`principalRefundIncorrectItemReceived`\" - \"`principalRefundDamagedOrDefectiveItem`\" - \"`principalRefundDidNotMatchDescription`\" - \"`principalRefundExpiredItem`\" ",
           "type": "string"
         },
         "transactionAmount": {
diff --git a/googleapiclient/discovery_cache/documents/customsearch.v1.json b/googleapiclient/discovery_cache/documents/customsearch.v1.json
index 6cd7e23..b0f5935 100644
--- a/googleapiclient/discovery_cache/documents/customsearch.v1.json
+++ b/googleapiclient/discovery_cache/documents/customsearch.v1.json
@@ -674,7 +674,7 @@
       }
     }
   },
-  "revision": "20210506",
+  "revision": "20210513",
   "rootUrl": "https://customsearch.googleapis.com/",
   "schemas": {
     "Promotion": {
diff --git a/googleapiclient/discovery_cache/documents/dataflow.v1b3.json b/googleapiclient/discovery_cache/documents/dataflow.v1b3.json
index a22890f..428be87 100644
--- a/googleapiclient/discovery_cache/documents/dataflow.v1b3.json
+++ b/googleapiclient/discovery_cache/documents/dataflow.v1b3.json
@@ -2225,7 +2225,7 @@
       }
     }
   },
-  "revision": "20210430",
+  "revision": "20210504",
   "rootUrl": "https://dataflow.googleapis.com/",
   "schemas": {
     "ApproximateProgress": {
diff --git a/googleapiclient/discovery_cache/documents/datamigration.v1.json b/googleapiclient/discovery_cache/documents/datamigration.v1.json
index 941b003..0bf4679 100644
--- a/googleapiclient/discovery_cache/documents/datamigration.v1.json
+++ b/googleapiclient/discovery_cache/documents/datamigration.v1.json
@@ -364,7 +364,7 @@
                   ],
                   "parameters": {
                     "name": {
-                      "description": "The name of this connection profile resource in the form of projects/{project}/locations/{location}/instances/{instance}.",
+                      "description": "The name of this connection profile resource in the form of projects/{project}/locations/{location}/connectionProfiles/{instance}.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/locations/[^/]+/connectionProfiles/[^/]+$",
                       "required": true,
@@ -1049,7 +1049,7 @@
       }
     }
   },
-  "revision": "20210422",
+  "revision": "20210506",
   "rootUrl": "https://datamigration.googleapis.com/",
   "schemas": {
     "AuditConfig": {
@@ -1307,7 +1307,7 @@
           "description": "A MySQL database connection profile."
         },
         "name": {
-          "description": "The name of this connection profile resource in the form of projects/{project}/locations/{location}/instances/{instance}.",
+          "description": "The name of this connection profile resource in the form of projects/{project}/locations/{location}/connectionProfiles/{instance}.",
           "type": "string"
         },
         "postgresql": {
@@ -2076,7 +2076,7 @@
           "type": "boolean"
         },
         "privateNetwork": {
-          "description": "The resource link for the VPC network from which the Cloud SQL instance is accessible for private IP. For example, `/projects/myProject/global/networks/default`. This setting can be updated, but it cannot be removed after it is set.",
+          "description": "The resource link for the VPC network from which the Cloud SQL instance is accessible for private IP. For example, `projects/myProject/global/networks/default`. This setting can be updated, but it cannot be removed after it is set.",
           "type": "string"
         },
         "requireSsl": {
diff --git a/googleapiclient/discovery_cache/documents/datamigration.v1beta1.json b/googleapiclient/discovery_cache/documents/datamigration.v1beta1.json
index 7641676..66198e7 100644
--- a/googleapiclient/discovery_cache/documents/datamigration.v1beta1.json
+++ b/googleapiclient/discovery_cache/documents/datamigration.v1beta1.json
@@ -1049,7 +1049,7 @@
       }
     }
   },
-  "revision": "20210422",
+  "revision": "20210506",
   "rootUrl": "https://datamigration.googleapis.com/",
   "schemas": {
     "AuditConfig": {
diff --git a/googleapiclient/discovery_cache/documents/deploymentmanager.alpha.json b/googleapiclient/discovery_cache/documents/deploymentmanager.alpha.json
index 9861e6b..1057094 100644
--- a/googleapiclient/discovery_cache/documents/deploymentmanager.alpha.json
+++ b/googleapiclient/discovery_cache/documents/deploymentmanager.alpha.json
@@ -1588,7 +1588,7 @@
       }
     }
   },
-  "revision": "20210430",
+  "revision": "20210507",
   "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 d0d2ca3..9ac6702 100644
--- a/googleapiclient/discovery_cache/documents/deploymentmanager.v2.json
+++ b/googleapiclient/discovery_cache/documents/deploymentmanager.v2.json
@@ -988,7 +988,7 @@
       }
     }
   },
-  "revision": "20210430",
+  "revision": "20210507",
   "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 7e82558..c078742 100644
--- a/googleapiclient/discovery_cache/documents/deploymentmanager.v2beta.json
+++ b/googleapiclient/discovery_cache/documents/deploymentmanager.v2beta.json
@@ -1552,7 +1552,7 @@
       }
     }
   },
-  "revision": "20210430",
+  "revision": "20210507",
   "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 e961244..bba583b 100644
--- a/googleapiclient/discovery_cache/documents/dialogflow.v2.json
+++ b/googleapiclient/discovery_cache/documents/dialogflow.v2.json
@@ -6856,7 +6856,7 @@
       }
     }
   },
-  "revision": "20210430",
+  "revision": "20210510",
   "rootUrl": "https://dialogflow.googleapis.com/",
   "schemas": {
     "GoogleCloudDialogflowCxV3AudioInput": {
@@ -9862,7 +9862,7 @@
       "type": "object"
     },
     "GoogleCloudDialogflowV2Agent": {
-      "description": "A Dialogflow agent is a virtual agent that handles conversations with your end-users. It is a natural language understanding module that understands the nuances of human language. Dialogflow translates end-user text or audio during a conversation to structured data that your apps and services can understand. You design and build a Dialogflow agent to handle the types of conversations required for your system. For more information about agents, see the [Agent guide](https://cloud.google.com/dialogflow/docs/agents-overview).",
+      "description": "A Dialogflow agent is a virtual agent that handles conversations with your end-users. It is a natural language understanding module that understands the nuances of human language. Dialogflow translates end-user text or audio during a conversation to structured data that your apps and services can understand. You design and build a Dialogflow agent to handle the types of conversations required for your system. For more information about agents, see the [Agent guide](https://cloud.google.com/dialogflow/docs/agents-overview). ",
       "id": "GoogleCloudDialogflowV2Agent",
       "properties": {
         "apiVersion": {
diff --git a/googleapiclient/discovery_cache/documents/dialogflow.v2beta1.json b/googleapiclient/discovery_cache/documents/dialogflow.v2beta1.json
index 94fe7a9..d7d4a38 100644
--- a/googleapiclient/discovery_cache/documents/dialogflow.v2beta1.json
+++ b/googleapiclient/discovery_cache/documents/dialogflow.v2beta1.json
@@ -3657,7 +3657,7 @@
                   ]
                 },
                 "import": {
-                  "description": "Create documents by importing data from external sources.",
+                  "description": "Create documents by importing data from external sources. Dialogflow supports up to 350 documents in each request. If you try to import more, Dialogflow will return an error.",
                   "flatPath": "v2beta1/projects/{projectsId}/knowledgeBases/{knowledgeBasesId}/documents:import",
                   "httpMethod": "POST",
                   "id": "dialogflow.projects.knowledgeBases.documents.import",
@@ -6849,7 +6849,7 @@
                       ]
                     },
                     "import": {
-                      "description": "Create documents by importing data from external sources.",
+                      "description": "Create documents by importing data from external sources. Dialogflow supports up to 350 documents in each request. If you try to import more, Dialogflow will return an error.",
                       "flatPath": "v2beta1/projects/{projectsId}/locations/{locationsId}/knowledgeBases/{knowledgeBasesId}/documents:import",
                       "httpMethod": "POST",
                       "id": "dialogflow.projects.locations.knowledgeBases.documents.import",
@@ -7188,7 +7188,7 @@
       }
     }
   },
-  "revision": "20210430",
+  "revision": "20210510",
   "rootUrl": "https://dialogflow.googleapis.com/",
   "schemas": {
     "GoogleCloudDialogflowCxV3AudioInput": {
@@ -11818,7 +11818,7 @@
       "type": "object"
     },
     "GoogleCloudDialogflowV2beta1Agent": {
-      "description": "A Dialogflow agent is a virtual agent that handles conversations with your end-users. It is a natural language understanding module that understands the nuances of human language. Dialogflow translates end-user text or audio during a conversation to structured data that your apps and services can understand. You design and build a Dialogflow agent to handle the types of conversations required for your system. For more information about agents, see the [Agent guide](https://cloud.google.com/dialogflow/docs/agents-overview).",
+      "description": "A Dialogflow agent is a virtual agent that handles conversations with your end-users. It is a natural language understanding module that understands the nuances of human language. Dialogflow translates end-user text or audio during a conversation to structured data that your apps and services can understand. You design and build a Dialogflow agent to handle the types of conversations required for your system. For more information about agents, see the [Agent guide](https://cloud.google.com/dialogflow/docs/agents-overview). ",
       "id": "GoogleCloudDialogflowV2beta1Agent",
       "properties": {
         "apiVersion": {
diff --git a/googleapiclient/discovery_cache/documents/dialogflow.v3.json b/googleapiclient/discovery_cache/documents/dialogflow.v3.json
index 901a663..e2ec71d 100644
--- a/googleapiclient/discovery_cache/documents/dialogflow.v3.json
+++ b/googleapiclient/discovery_cache/documents/dialogflow.v3.json
@@ -3483,7 +3483,7 @@
       }
     }
   },
-  "revision": "20210430",
+  "revision": "20210510",
   "rootUrl": "https://dialogflow.googleapis.com/",
   "schemas": {
     "GoogleCloudDialogflowCxV3Agent": {
@@ -6788,6 +6788,10 @@
           "description": "The unique identifier of the webhook. Required for the Webhooks.UpdateWebhook method. Webhooks.CreateWebhook populates the name automatically. Format: `projects//locations//agents//webhooks/`.",
           "type": "string"
         },
+        "serviceDirectory": {
+          "$ref": "GoogleCloudDialogflowCxV3WebhookServiceDirectoryConfig",
+          "description": "Configuration for a [Service Directory](https://cloud.google.com/service-directory) service."
+        },
         "timeout": {
           "description": "Webhook execution timeout. Execution is considered failed if Dialogflow doesn't receive a response from webhook at the end of the timeout period. Defaults to 5 seconds, maximum allowed timeout is 30 seconds.",
           "format": "google-duration",
@@ -7021,6 +7025,21 @@
       },
       "type": "object"
     },
+    "GoogleCloudDialogflowCxV3WebhookServiceDirectoryConfig": {
+      "description": "Represents configuration for a [Service Directory](https://cloud.google.com/service-directory) service.",
+      "id": "GoogleCloudDialogflowCxV3WebhookServiceDirectoryConfig",
+      "properties": {
+        "genericWebService": {
+          "$ref": "GoogleCloudDialogflowCxV3WebhookGenericWebService",
+          "description": "Generic Service configuration of this webhook."
+        },
+        "service": {
+          "description": "Required. The name of [Service Directory](https://cloud.google.com/service-directory) service. Format: `projects//locations//namespaces//services/`. `Location ID` of the service directory must be the same as the location of the agent.",
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
     "GoogleCloudDialogflowCxV3beta1AudioInput": {
       "description": "Represents the natural speech audio to be processed.",
       "id": "GoogleCloudDialogflowCxV3beta1AudioInput",
diff --git a/googleapiclient/discovery_cache/documents/dialogflow.v3beta1.json b/googleapiclient/discovery_cache/documents/dialogflow.v3beta1.json
index 5290b03..9a23e45 100644
--- a/googleapiclient/discovery_cache/documents/dialogflow.v3beta1.json
+++ b/googleapiclient/discovery_cache/documents/dialogflow.v3beta1.json
@@ -3483,7 +3483,7 @@
       }
     }
   },
-  "revision": "20210430",
+  "revision": "20210510",
   "rootUrl": "https://dialogflow.googleapis.com/",
   "schemas": {
     "GoogleCloudDialogflowCxV3AudioInput": {
@@ -8289,6 +8289,10 @@
           "description": "The unique identifier of the webhook. Required for the Webhooks.UpdateWebhook method. Webhooks.CreateWebhook populates the name automatically. Format: `projects//locations//agents//webhooks/`.",
           "type": "string"
         },
+        "serviceDirectory": {
+          "$ref": "GoogleCloudDialogflowCxV3beta1WebhookServiceDirectoryConfig",
+          "description": "Configuration for a [Service Directory](https://cloud.google.com/service-directory) service."
+        },
         "timeout": {
           "description": "Webhook execution timeout. Execution is considered failed if Dialogflow doesn't receive a response from webhook at the end of the timeout period. Defaults to 5 seconds, maximum allowed timeout is 30 seconds.",
           "format": "google-duration",
@@ -8522,6 +8526,21 @@
       },
       "type": "object"
     },
+    "GoogleCloudDialogflowCxV3beta1WebhookServiceDirectoryConfig": {
+      "description": "Represents configuration for a [Service Directory](https://cloud.google.com/service-directory) service.",
+      "id": "GoogleCloudDialogflowCxV3beta1WebhookServiceDirectoryConfig",
+      "properties": {
+        "genericWebService": {
+          "$ref": "GoogleCloudDialogflowCxV3beta1WebhookGenericWebService",
+          "description": "Generic Service configuration of this webhook."
+        },
+        "service": {
+          "description": "Required. The name of [Service Directory](https://cloud.google.com/service-directory) service. Format: `projects//locations//namespaces//services/`. `Location ID` of the service directory must be the same as the location of the agent.",
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
     "GoogleCloudDialogflowV2AnnotatedMessagePart": {
       "description": "Represents a part of a message possibly annotated with an entity. The part can be an entity or purely a part of the message between two entities or message start/end.",
       "id": "GoogleCloudDialogflowV2AnnotatedMessagePart",
diff --git a/googleapiclient/discovery_cache/documents/digitalassetlinks.v1.json b/googleapiclient/discovery_cache/documents/digitalassetlinks.v1.json
index ec03069..ab99599 100644
--- a/googleapiclient/discovery_cache/documents/digitalassetlinks.v1.json
+++ b/googleapiclient/discovery_cache/documents/digitalassetlinks.v1.json
@@ -184,7 +184,7 @@
       }
     }
   },
-  "revision": "20210424",
+  "revision": "20210503",
   "rootUrl": "https://digitalassetlinks.googleapis.com/",
   "schemas": {
     "AndroidAppAsset": {
diff --git a/googleapiclient/discovery_cache/documents/dns.v1.json b/googleapiclient/discovery_cache/documents/dns.v1.json
index be69fba..4e78206 100644
--- a/googleapiclient/discovery_cache/documents/dns.v1.json
+++ b/googleapiclient/discovery_cache/documents/dns.v1.json
@@ -1245,7 +1245,7 @@
       }
     }
   },
-  "revision": "20210430",
+  "revision": "20210513",
   "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 de16ce8..0b11d50 100644
--- a/googleapiclient/discovery_cache/documents/dns.v1beta2.json
+++ b/googleapiclient/discovery_cache/documents/dns.v1beta2.json
@@ -1740,7 +1740,7 @@
       }
     }
   },
-  "revision": "20210430",
+  "revision": "20210513",
   "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 56fc52d..96762d8 100644
--- a/googleapiclient/discovery_cache/documents/docs.v1.json
+++ b/googleapiclient/discovery_cache/documents/docs.v1.json
@@ -216,7 +216,7 @@
       }
     }
   },
-  "revision": "20210427",
+  "revision": "20210511",
   "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 21c7b22..48ffd6e 100644
--- a/googleapiclient/discovery_cache/documents/documentai.v1.json
+++ b/googleapiclient/discovery_cache/documents/documentai.v1.json
@@ -601,7 +601,7 @@
       }
     }
   },
-  "revision": "20210430",
+  "revision": "20210507",
   "rootUrl": "https://documentai.googleapis.com/",
   "schemas": {
     "GoogleCloudDocumentaiUiv1beta3CommonOperationMetadata": {
@@ -1832,6 +1832,11 @@
           "format": "int32",
           "type": "integer"
         },
+        "index": {
+          "description": "The index of the parent revisions corresponding collection of items (eg. list of entities, properties within entities, etc.)",
+          "format": "int32",
+          "type": "integer"
+        },
         "revision": {
           "description": "The index of the [Document.revisions] identifying the parent revision.",
           "format": "int32",
@@ -3002,6 +3007,11 @@
           "format": "int32",
           "type": "integer"
         },
+        "index": {
+          "description": "The index of the parent revisions corresponding collection of items (eg. list of entities, properties within entities, etc.)",
+          "format": "int32",
+          "type": "integer"
+        },
         "revision": {
           "description": "The index of the [Document.revisions] identifying the parent revision.",
           "format": "int32",
@@ -4152,6 +4162,11 @@
           "format": "int32",
           "type": "integer"
         },
+        "index": {
+          "description": "The index of the parent revisions corresponding collection of items (eg. list of entities, properties within entities, etc.)",
+          "format": "int32",
+          "type": "integer"
+        },
         "revision": {
           "description": "The index of the [Document.revisions] identifying the parent revision.",
           "format": "int32",
diff --git a/googleapiclient/discovery_cache/documents/documentai.v1beta2.json b/googleapiclient/discovery_cache/documents/documentai.v1beta2.json
index ecd7558..7a61a5b 100644
--- a/googleapiclient/discovery_cache/documents/documentai.v1beta2.json
+++ b/googleapiclient/discovery_cache/documents/documentai.v1beta2.json
@@ -292,7 +292,7 @@
       }
     }
   },
-  "revision": "20210430",
+  "revision": "20210507",
   "rootUrl": "https://documentai.googleapis.com/",
   "schemas": {
     "GoogleCloudDocumentaiUiv1beta3CommonOperationMetadata": {
@@ -1536,6 +1536,11 @@
           "format": "int32",
           "type": "integer"
         },
+        "index": {
+          "description": "The index of the parent revisions corresponding collection of items (eg. list of entities, properties within entities, etc.)",
+          "format": "int32",
+          "type": "integer"
+        },
         "revision": {
           "description": "The index of the [Document.revisions] identifying the parent revision.",
           "format": "int32",
@@ -2711,6 +2716,11 @@
           "format": "int32",
           "type": "integer"
         },
+        "index": {
+          "description": "The index of the parent revisions corresponding collection of items (eg. list of entities, properties within entities, etc.)",
+          "format": "int32",
+          "type": "integer"
+        },
         "revision": {
           "description": "The index of the [Document.revisions] identifying the parent revision.",
           "format": "int32",
diff --git a/googleapiclient/discovery_cache/documents/documentai.v1beta3.json b/googleapiclient/discovery_cache/documents/documentai.v1beta3.json
index 54f3ede..a0ed93d 100644
--- a/googleapiclient/discovery_cache/documents/documentai.v1beta3.json
+++ b/googleapiclient/discovery_cache/documents/documentai.v1beta3.json
@@ -535,7 +535,7 @@
       }
     }
   },
-  "revision": "20210430",
+  "revision": "20210507",
   "rootUrl": "https://documentai.googleapis.com/",
   "schemas": {
     "GoogleCloudDocumentaiUiv1beta3CommonOperationMetadata": {
@@ -1779,6 +1779,11 @@
           "format": "int32",
           "type": "integer"
         },
+        "index": {
+          "description": "The index of the parent revisions corresponding collection of items (eg. list of entities, properties within entities, etc.)",
+          "format": "int32",
+          "type": "integer"
+        },
         "revision": {
           "description": "The index of the [Document.revisions] identifying the parent revision.",
           "format": "int32",
@@ -2929,6 +2934,11 @@
           "format": "int32",
           "type": "integer"
         },
+        "index": {
+          "description": "The index of the parent revisions corresponding collection of items (eg. list of entities, properties within entities, etc.)",
+          "format": "int32",
+          "type": "integer"
+        },
         "revision": {
           "description": "The index of the [Document.revisions] identifying the parent revision.",
           "format": "int32",
@@ -4266,6 +4276,11 @@
           "format": "int32",
           "type": "integer"
         },
+        "index": {
+          "description": "The index of the parent revisions corresponding collection of items (eg. list of entities, properties within entities, etc.)",
+          "format": "int32",
+          "type": "integer"
+        },
         "revision": {
           "description": "The index of the [Document.revisions] identifying the parent revision.",
           "format": "int32",
diff --git a/googleapiclient/discovery_cache/documents/domainsrdap.v1.json b/googleapiclient/discovery_cache/documents/domainsrdap.v1.json
index ea428fb..b52f688 100644
--- a/googleapiclient/discovery_cache/documents/domainsrdap.v1.json
+++ b/googleapiclient/discovery_cache/documents/domainsrdap.v1.json
@@ -289,7 +289,7 @@
       }
     }
   },
-  "revision": "20210506",
+  "revision": "20210513",
   "rootUrl": "https://domainsrdap.googleapis.com/",
   "schemas": {
     "HttpBody": {
diff --git a/googleapiclient/discovery_cache/documents/doubleclickbidmanager.v1.json b/googleapiclient/discovery_cache/documents/doubleclickbidmanager.v1.json
index 547257f..f4223bf 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": "20210428",
+  "revision": "20210504",
   "rootUrl": "https://doubleclickbidmanager.googleapis.com/",
   "schemas": {},
   "servicePath": "doubleclickbidmanager/v1/",
diff --git a/googleapiclient/discovery_cache/documents/doubleclickbidmanager.v11.json b/googleapiclient/discovery_cache/documents/doubleclickbidmanager.v11.json
index e826e4d..54cdfd4 100644
--- a/googleapiclient/discovery_cache/documents/doubleclickbidmanager.v11.json
+++ b/googleapiclient/discovery_cache/documents/doubleclickbidmanager.v11.json
@@ -280,7 +280,7 @@
       }
     }
   },
-  "revision": "20210428",
+  "revision": "20210504",
   "rootUrl": "https://doubleclickbidmanager.googleapis.com/",
   "schemas": {
     "ChannelGrouping": {
@@ -604,7 +604,19 @@
             "FILTER_TRUEVIEW_AD_TYPE_NAME",
             "FILTER_VIDEO_CONTENT_DURATION",
             "FILTER_MATCHED_GENRE_TARGET",
-            "FILTER_VIDEO_CONTENT_LIVE_STREAM"
+            "FILTER_VIDEO_CONTENT_LIVE_STREAM",
+            "FILTER_BUDGET_SEGMENT_TYPE",
+            "FILTER_BUDGET_SEGMENT_BUDGET",
+            "FILTER_BUDGET_SEGMENT_START_DATE",
+            "FILTER_BUDGET_SEGMENT_END_DATE",
+            "FILTER_BUDGET_SEGMENT_PACING_PERCENTAGE",
+            "FILTER_LINE_ITEM_BUDGET",
+            "FILTER_LINE_ITEM_START_DATE",
+            "FILTER_LINE_ITEM_END_DATE",
+            "FILTER_INSERTION_ORDER_GOAL_TYPE",
+            "FILTER_LINE_ITEM_PACING_PERCENTAGE",
+            "FILTER_INSERTION_ORDER_GOAL_VALUE",
+            "FILTER_OMID_CAPABLE"
           ],
           "enumDescriptions": [
             "",
@@ -874,6 +886,18 @@
             "",
             "",
             "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
             ""
           ],
           "type": "string"
@@ -1226,7 +1250,19 @@
               "FILTER_TRUEVIEW_AD_TYPE_NAME",
               "FILTER_VIDEO_CONTENT_DURATION",
               "FILTER_MATCHED_GENRE_TARGET",
-              "FILTER_VIDEO_CONTENT_LIVE_STREAM"
+              "FILTER_VIDEO_CONTENT_LIVE_STREAM",
+              "FILTER_BUDGET_SEGMENT_TYPE",
+              "FILTER_BUDGET_SEGMENT_BUDGET",
+              "FILTER_BUDGET_SEGMENT_START_DATE",
+              "FILTER_BUDGET_SEGMENT_END_DATE",
+              "FILTER_BUDGET_SEGMENT_PACING_PERCENTAGE",
+              "FILTER_LINE_ITEM_BUDGET",
+              "FILTER_LINE_ITEM_START_DATE",
+              "FILTER_LINE_ITEM_END_DATE",
+              "FILTER_INSERTION_ORDER_GOAL_TYPE",
+              "FILTER_LINE_ITEM_PACING_PERCENTAGE",
+              "FILTER_INSERTION_ORDER_GOAL_VALUE",
+              "FILTER_OMID_CAPABLE"
             ],
             "enumDescriptions": [
               "",
@@ -1496,6 +1532,18 @@
               "",
               "",
               "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
               ""
             ],
             "type": "string"
@@ -1964,7 +2012,9 @@
               "METRIC_CM360_POST_VIEW_REVENUE",
               "METRIC_CM360_POST_CLICK_REVENUE",
               "METRIC_CM360_POST_CLICK_REVENUE_CROSS_ENVIRONMENT",
-              "METRIC_CM360_POST_VIEW_REVENUE_CROSS_ENVIRONMENT"
+              "METRIC_CM360_POST_VIEW_REVENUE_CROSS_ENVIRONMENT",
+              "METRIC_PERCENTAGE_FROM_CURRENT_IO_GOAL",
+              "METRIC_OMID_CAPABLE"
             ],
             "enumDescriptions": [
               "",
@@ -2421,6 +2471,8 @@
               "",
               "",
               "",
+              "",
+              "",
               ""
             ],
             "type": "string"
@@ -2830,7 +2882,19 @@
             "FILTER_TRUEVIEW_AD_TYPE_NAME",
             "FILTER_VIDEO_CONTENT_DURATION",
             "FILTER_MATCHED_GENRE_TARGET",
-            "FILTER_VIDEO_CONTENT_LIVE_STREAM"
+            "FILTER_VIDEO_CONTENT_LIVE_STREAM",
+            "FILTER_BUDGET_SEGMENT_TYPE",
+            "FILTER_BUDGET_SEGMENT_BUDGET",
+            "FILTER_BUDGET_SEGMENT_START_DATE",
+            "FILTER_BUDGET_SEGMENT_END_DATE",
+            "FILTER_BUDGET_SEGMENT_PACING_PERCENTAGE",
+            "FILTER_LINE_ITEM_BUDGET",
+            "FILTER_LINE_ITEM_START_DATE",
+            "FILTER_LINE_ITEM_END_DATE",
+            "FILTER_INSERTION_ORDER_GOAL_TYPE",
+            "FILTER_LINE_ITEM_PACING_PERCENTAGE",
+            "FILTER_INSERTION_ORDER_GOAL_VALUE",
+            "FILTER_OMID_CAPABLE"
           ],
           "enumDescriptions": [
             "",
@@ -3100,6 +3164,18 @@
             "",
             "",
             "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
             ""
           ],
           "type": "string"
diff --git a/googleapiclient/discovery_cache/documents/doubleclicksearch.v2.json b/googleapiclient/discovery_cache/documents/doubleclicksearch.v2.json
index 8715534..a65b8c7 100644
--- a/googleapiclient/discovery_cache/documents/doubleclicksearch.v2.json
+++ b/googleapiclient/discovery_cache/documents/doubleclicksearch.v2.json
@@ -399,7 +399,7 @@
       }
     }
   },
-  "revision": "20210504",
+  "revision": "20210511",
   "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 ec97307..d6c5fae 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/KIpWWHp2AAnVeDI5Q-eU9p19Y8M\"",
+  "etag": "\"uWj2hSb4GVjzdDlAnRd2gbM1ZQ8/xWq4REeLMQgpY35RBRyMF_22olo\"",
   "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"
@@ -1325,7 +1325,13 @@
             },
             "space": {
               "default": "drive",
-              "description": "The space in which the IDs can be used to create new files. Supported values are 'drive' and 'appDataFolder'.",
+              "description": "The space in which the IDs can be used to create new files. Supported values are 'drive' and 'appDataFolder'. (Default: 'drive')",
+              "location": "query",
+              "type": "string"
+            },
+            "type": {
+              "default": "files",
+              "description": "The type of items which the IDs can be used for. Supported values are 'files' and 'shortcuts'. Note that 'shortcuts' are only supported in the drive 'space'. (Default: 'files')",
               "location": "query",
               "type": "string"
             }
@@ -3521,7 +3527,7 @@
       }
     }
   },
-  "revision": "20210426",
+  "revision": "20210509",
   "rootUrl": "https://www.googleapis.com/",
   "schemas": {
     "About": {
@@ -4827,6 +4833,7 @@
             "type": "string"
           },
           "description": "Links for exporting Docs Editors files to specific formats.",
+          "readOnly": true,
           "type": "object"
         },
         "fileExtension": {
@@ -5704,7 +5711,7 @@
           "type": "string"
         },
         "pinned": {
-          "description": "Whether this revision is pinned to prevent automatic purging. This will only be populated and can only be modified on files with content stored in Drive, excluding Docs Editors files. Revisions can also be pinned when they are created through the drive.files.insert/update/copy by using the pinned query parameter. Pinned revisions are stored indefinitely using additional storage quota, up to a maximum of 200 revisions.",
+          "description": "Whether this revision is pinned to prevent automatic purging. If not set, the revision is automatically purged 30 days after newer content is uploaded. This field can only be modified on files with content stored in Drive, excluding Docs Editors files. Revisions can also be pinned when they are created through the drive.files.insert/update/copy by using the pinned query parameter. Pinned revisions are stored indefinitely using additional storage quota, up to a maximum of 200 revisions.",
           "type": "boolean"
         },
         "publishAuto": {
diff --git a/googleapiclient/discovery_cache/documents/drive.v3.json b/googleapiclient/discovery_cache/documents/drive.v3.json
index 61ee9a1..bd263fc 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/ZirnHyy4ccpvvaD5gWRKtW6Grhc\"",
+  "etag": "\"uWj2hSb4GVjzdDlAnRd2gbM1ZQ8/Feg8gV_ME3xYqXxzychzT-zuDJk\"",
   "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"
@@ -1027,7 +1027,13 @@
             },
             "space": {
               "default": "drive",
-              "description": "The space in which the IDs can be used to create new files. Supported values are 'drive' and 'appDataFolder'.",
+              "description": "The space in which the IDs can be used to create new files. Supported values are 'drive' and 'appDataFolder'. (Default: 'drive')",
+              "location": "query",
+              "type": "string"
+            },
+            "type": {
+              "default": "files",
+              "description": "The type of items which the IDs can be used for. Supported values are 'files' and 'shortcuts'. Note that 'shortcuts' are only supported in the drive 'space'. (Default: 'files')",
               "location": "query",
               "type": "string"
             }
@@ -2185,7 +2191,7 @@
       }
     }
   },
-  "revision": "20210426",
+  "revision": "20210509",
   "rootUrl": "https://www.googleapis.com/",
   "schemas": {
     "About": {
@@ -2986,6 +2992,7 @@
             "type": "string"
           },
           "description": "Links for exporting Docs Editors files to specific formats.",
+          "readOnly": true,
           "type": "object"
         },
         "fileExtension": {
diff --git a/googleapiclient/discovery_cache/documents/driveactivity.v2.json b/googleapiclient/discovery_cache/documents/driveactivity.v2.json
index 53d8aec..2bf0e8f 100644
--- a/googleapiclient/discovery_cache/documents/driveactivity.v2.json
+++ b/googleapiclient/discovery_cache/documents/driveactivity.v2.json
@@ -132,7 +132,7 @@
       }
     }
   },
-  "revision": "20210504",
+  "revision": "20210512",
   "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 f69443b..15c3f45 100644
--- a/googleapiclient/discovery_cache/documents/essentialcontacts.v1.json
+++ b/googleapiclient/discovery_cache/documents/essentialcontacts.v1.json
@@ -850,7 +850,7 @@
       }
     }
   },
-  "revision": "20210506",
+  "revision": "20210513",
   "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 4f54412..b9bddc9 100644
--- a/googleapiclient/discovery_cache/documents/eventarc.v1.json
+++ b/googleapiclient/discovery_cache/documents/eventarc.v1.json
@@ -584,7 +584,7 @@
       }
     }
   },
-  "revision": "20210430",
+  "revision": "20210507",
   "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 c470485..3154dca 100644
--- a/googleapiclient/discovery_cache/documents/eventarc.v1beta1.json
+++ b/googleapiclient/discovery_cache/documents/eventarc.v1beta1.json
@@ -584,7 +584,7 @@
       }
     }
   },
-  "revision": "20210430",
+  "revision": "20210507",
   "rootUrl": "https://eventarc.googleapis.com/",
   "schemas": {
     "AuditConfig": {
diff --git a/googleapiclient/discovery_cache/documents/factchecktools.v1alpha1.json b/googleapiclient/discovery_cache/documents/factchecktools.v1alpha1.json
index b35ba4b..3d4be8a 100644
--- a/googleapiclient/discovery_cache/documents/factchecktools.v1alpha1.json
+++ b/googleapiclient/discovery_cache/documents/factchecktools.v1alpha1.json
@@ -304,7 +304,7 @@
       }
     }
   },
-  "revision": "20210506",
+  "revision": "20210513",
   "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 a7f4045..8c115de 100644
--- a/googleapiclient/discovery_cache/documents/fcm.v1.json
+++ b/googleapiclient/discovery_cache/documents/fcm.v1.json
@@ -142,7 +142,7 @@
       }
     }
   },
-  "revision": "20210506",
+  "revision": "20210510",
   "rootUrl": "https://fcm.googleapis.com/",
   "schemas": {
     "AndroidConfig": {
diff --git a/googleapiclient/discovery_cache/documents/file.v1.json b/googleapiclient/discovery_cache/documents/file.v1.json
index 42c211e..4613226 100644
--- a/googleapiclient/discovery_cache/documents/file.v1.json
+++ b/googleapiclient/discovery_cache/documents/file.v1.json
@@ -672,7 +672,7 @@
       }
     }
   },
-  "revision": "20210429",
+  "revision": "20210504",
   "rootUrl": "https://file.googleapis.com/",
   "schemas": {
     "Backup": {
diff --git a/googleapiclient/discovery_cache/documents/file.v1beta1.json b/googleapiclient/discovery_cache/documents/file.v1beta1.json
index fc2ca2d..13968fc 100644
--- a/googleapiclient/discovery_cache/documents/file.v1beta1.json
+++ b/googleapiclient/discovery_cache/documents/file.v1beta1.json
@@ -672,7 +672,7 @@
       }
     }
   },
-  "revision": "20210429",
+  "revision": "20210504",
   "rootUrl": "https://file.googleapis.com/",
   "schemas": {
     "Backup": {
diff --git a/googleapiclient/discovery_cache/documents/firebase.v1beta1.json b/googleapiclient/discovery_cache/documents/firebase.v1beta1.json
index de5e54a..8c1f8af 100644
--- a/googleapiclient/discovery_cache/documents/firebase.v1beta1.json
+++ b/googleapiclient/discovery_cache/documents/firebase.v1beta1.json
@@ -1121,7 +1121,7 @@
       }
     }
   },
-  "revision": "20210504",
+  "revision": "20210511",
   "rootUrl": "https://firebase.googleapis.com/",
   "schemas": {
     "AddFirebaseRequest": {
diff --git a/googleapiclient/discovery_cache/documents/firebasedatabase.v1beta.json b/googleapiclient/discovery_cache/documents/firebasedatabase.v1beta.json
index e3b8cc6..71d6121 100644
--- a/googleapiclient/discovery_cache/documents/firebasedatabase.v1beta.json
+++ b/googleapiclient/discovery_cache/documents/firebasedatabase.v1beta.json
@@ -317,7 +317,7 @@
       }
     }
   },
-  "revision": "20210504",
+  "revision": "20210511",
   "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 f5b7e57..f4890da 100644
--- a/googleapiclient/discovery_cache/documents/firebasedynamiclinks.v1.json
+++ b/googleapiclient/discovery_cache/documents/firebasedynamiclinks.v1.json
@@ -224,7 +224,7 @@
       }
     }
   },
-  "revision": "20210426",
+  "revision": "20210514",
   "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 2885e9d..46764e3 100644
--- a/googleapiclient/discovery_cache/documents/firebasehosting.v1.json
+++ b/googleapiclient/discovery_cache/documents/firebasehosting.v1.json
@@ -186,7 +186,7 @@
       }
     }
   },
-  "revision": "20210422",
+  "revision": "20210510",
   "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 c67aa20..8d9a34f 100644
--- a/googleapiclient/discovery_cache/documents/firebasehosting.v1beta1.json
+++ b/googleapiclient/discovery_cache/documents/firebasehosting.v1beta1.json
@@ -1939,7 +1939,7 @@
       }
     }
   },
-  "revision": "20210422",
+  "revision": "20210510",
   "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 a6ec67b..ec97e14 100644
--- a/googleapiclient/discovery_cache/documents/firebaseml.v1.json
+++ b/googleapiclient/discovery_cache/documents/firebaseml.v1.json
@@ -204,7 +204,7 @@
       }
     }
   },
-  "revision": "20210505",
+  "revision": "20210512",
   "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 4a71e6a..8b6614f 100644
--- a/googleapiclient/discovery_cache/documents/firebaseml.v1beta2.json
+++ b/googleapiclient/discovery_cache/documents/firebaseml.v1beta2.json
@@ -318,7 +318,7 @@
       }
     }
   },
-  "revision": "20210505",
+  "revision": "20210512",
   "rootUrl": "https://firebaseml.googleapis.com/",
   "schemas": {
     "DownloadModelResponse": {
diff --git a/googleapiclient/discovery_cache/documents/firebaserules.v1.json b/googleapiclient/discovery_cache/documents/firebaserules.v1.json
index 1c22d77..93b4ecd 100644
--- a/googleapiclient/discovery_cache/documents/firebaserules.v1.json
+++ b/googleapiclient/discovery_cache/documents/firebaserules.v1.json
@@ -3,7 +3,7 @@
     "oauth2": {
       "scopes": {
         "https://www.googleapis.com/auth/cloud-platform": {
-          "description": "View and manage your data across Google Cloud Platform services"
+          "description": "See, edit, configure, and delete your Google Cloud Platform data"
         },
         "https://www.googleapis.com/auth/firebase": {
           "description": "View and administer all your Firebase data and settings"
@@ -477,7 +477,7 @@
       }
     }
   },
-  "revision": "20210311",
+  "revision": "20210508",
   "rootUrl": "https://firebaserules.googleapis.com/",
   "schemas": {
     "Arg": {
diff --git a/googleapiclient/discovery_cache/documents/fitness.v1.json b/googleapiclient/discovery_cache/documents/fitness.v1.json
index 601af0b..ee44320 100644
--- a/googleapiclient/discovery_cache/documents/fitness.v1.json
+++ b/googleapiclient/discovery_cache/documents/fitness.v1.json
@@ -831,7 +831,7 @@
       }
     }
   },
-  "revision": "20210504",
+  "revision": "20210508",
   "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 7264df8..634fd4c 100644
--- a/googleapiclient/discovery_cache/documents/games.v1.json
+++ b/googleapiclient/discovery_cache/documents/games.v1.json
@@ -1224,7 +1224,7 @@
       }
     }
   },
-  "revision": "20210429",
+  "revision": "20210506",
   "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 96e29b8..10e72bf 100644
--- a/googleapiclient/discovery_cache/documents/gamesConfiguration.v1configuration.json
+++ b/googleapiclient/discovery_cache/documents/gamesConfiguration.v1configuration.json
@@ -439,7 +439,7 @@
       }
     }
   },
-  "revision": "20210429",
+  "revision": "20210506",
   "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 1ae4b41..5b309f6 100644
--- a/googleapiclient/discovery_cache/documents/gamesManagement.v1management.json
+++ b/googleapiclient/discovery_cache/documents/gamesManagement.v1management.json
@@ -471,7 +471,7 @@
       }
     }
   },
-  "revision": "20210429",
+  "revision": "20210506",
   "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 c7db582..967354f 100644
--- a/googleapiclient/discovery_cache/documents/gameservices.v1.json
+++ b/googleapiclient/discovery_cache/documents/gameservices.v1.json
@@ -1312,7 +1312,7 @@
       }
     }
   },
-  "revision": "20210429",
+  "revision": "20210506",
   "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 212115b..ce952d4 100644
--- a/googleapiclient/discovery_cache/documents/gameservices.v1beta.json
+++ b/googleapiclient/discovery_cache/documents/gameservices.v1beta.json
@@ -1357,7 +1357,7 @@
       }
     }
   },
-  "revision": "20210429",
+  "revision": "20210506",
   "rootUrl": "https://gameservices.googleapis.com/",
   "schemas": {
     "AuditConfig": {
diff --git a/googleapiclient/discovery_cache/documents/genomics.v1.json b/googleapiclient/discovery_cache/documents/genomics.v1.json
index 93ddcd2..1fe0e18 100644
--- a/googleapiclient/discovery_cache/documents/genomics.v1.json
+++ b/googleapiclient/discovery_cache/documents/genomics.v1.json
@@ -1,16 +1,4 @@
 {
-  "auth": {
-    "oauth2": {
-      "scopes": {
-        "https://www.googleapis.com/auth/cloud-platform": {
-          "description": "See, edit, configure, and delete your Google Cloud Platform data"
-        },
-        "https://www.googleapis.com/auth/genomics": {
-          "description": "View and manage Genomics data"
-        }
-      }
-    }
-  },
   "basePath": "",
   "baseUrl": "https://genomics.googleapis.com/",
   "batchPath": "batch",
@@ -106,139 +94,122 @@
     }
   },
   "protocol": "rest",
-  "resources": {
-    "operations": {
-      "methods": {
-        "cancel": {
-          "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. Clients may use Operations.GetOperation or Operations.ListOperations to check whether the cancellation succeeded or the operation completed despite cancellation. Authorization requires the following [Google IAM](https://cloud.google.com/iam) permission: * `genomics.operations.cancel`",
-          "flatPath": "v1/operations/{operationsId}:cancel",
-          "httpMethod": "POST",
-          "id": "genomics.operations.cancel",
-          "parameterOrder": [
-            "name"
-          ],
-          "parameters": {
-            "name": {
-              "description": "The name of the operation resource to be cancelled.",
-              "location": "path",
-              "pattern": "^operations/.*$",
-              "required": true,
-              "type": "string"
-            }
-          },
-          "path": "v1/{+name}:cancel",
-          "request": {
-            "$ref": "CancelOperationRequest"
-          },
-          "response": {
-            "$ref": "Empty"
-          },
-          "scopes": [
-            "https://www.googleapis.com/auth/cloud-platform",
-            "https://www.googleapis.com/auth/genomics"
-          ]
-        },
-        "get": {
-          "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service. Authorization requires the following [Google IAM](https://cloud.google.com/iam) permission: * `genomics.operations.get`",
-          "flatPath": "v1/operations/{operationsId}",
-          "httpMethod": "GET",
-          "id": "genomics.operations.get",
-          "parameterOrder": [
-            "name"
-          ],
-          "parameters": {
-            "name": {
-              "description": "The name of the operation resource.",
-              "location": "path",
-              "pattern": "^operations/.*$",
-              "required": true,
-              "type": "string"
-            }
-          },
-          "path": "v1/{+name}",
-          "response": {
-            "$ref": "Operation"
-          },
-          "scopes": [
-            "https://www.googleapis.com/auth/cloud-platform",
-            "https://www.googleapis.com/auth/genomics"
-          ]
-        },
-        "list": {
-          "description": "Lists operations that match the specified filter in the request. Authorization requires the following [Google IAM](https://cloud.google.com/iam) permission: * `genomics.operations.list`",
-          "flatPath": "v1/operations",
-          "httpMethod": "GET",
-          "id": "genomics.operations.list",
-          "parameterOrder": [
-            "name"
-          ],
-          "parameters": {
-            "filter": {
-              "description": "A string for filtering Operations. In v2alpha1, the following filter fields are supported: * createTime: The time this job was created * events: The set of event (names) that have occurred while running the pipeline. The : operator can be used to determine if a particular event has occurred. * error: If the pipeline is running, this value is NULL. Once the pipeline finishes, the value is the standard Google error code. * labels.key or labels.\"key with space\" where key is a label key. * done: If the pipeline is running, this value is false. Once the pipeline finishes, the value is true. In v1 and v1alpha2, the following filter fields are supported: * projectId: Required. Corresponds to OperationMetadata.projectId. * createTime: The time this job was created, in seconds from the [epoch](http://en.wikipedia.org/wiki/Unix_time). Can use `>=` and/or `<=` operators. * status: Can be `RUNNING`, `SUCCESS`, `FAILURE`, or `CANCELED`. Only one status may be specified. * labels.key where key is a label key. Examples: * `projectId = my-project AND createTime >= 1432140000` * `projectId = my-project AND createTime >= 1432140000 AND createTime <= 1432150000 AND status = RUNNING` * `projectId = my-project AND labels.color = *` * `projectId = my-project AND labels.color = red`",
-              "location": "query",
-              "type": "string"
-            },
-            "name": {
-              "description": "The name of the operation's parent resource.",
-              "location": "path",
-              "pattern": "^operations$",
-              "required": true,
-              "type": "string"
-            },
-            "pageSize": {
-              "description": "The maximum number of results to return. The maximum value is 256.",
-              "format": "int32",
-              "location": "query",
-              "type": "integer"
-            },
-            "pageToken": {
-              "description": "The standard list page token.",
-              "location": "query",
-              "type": "string"
-            }
-          },
-          "path": "v1/{+name}",
-          "response": {
-            "$ref": "ListOperationsResponse"
-          },
-          "scopes": [
-            "https://www.googleapis.com/auth/cloud-platform",
-            "https://www.googleapis.com/auth/genomics"
-          ]
-        }
-      }
-    }
-  },
-  "revision": "20210503",
+  "resources": {},
+  "revision": "20210512",
   "rootUrl": "https://genomics.googleapis.com/",
   "schemas": {
-    "CancelOperationRequest": {
-      "description": "The request message for Operations.CancelOperation.",
-      "id": "CancelOperationRequest",
-      "properties": {},
+    "Accelerator": {
+      "description": "Carries information about an accelerator that can be attached to a VM.",
+      "id": "Accelerator",
+      "properties": {
+        "count": {
+          "description": "How many accelerators of this type to attach.",
+          "format": "int64",
+          "type": "string"
+        },
+        "type": {
+          "description": "The accelerator type string (for example, \"nvidia-tesla-k80\"). Only NVIDIA GPU accelerators are currently supported. If an NVIDIA GPU is attached, the required runtime libraries will be made available to all containers under `/usr/local/nvidia`. The driver version to install must be specified using the NVIDIA driver version parameter on the virtual machine specification. Note that attaching a GPU increases the worker VM startup time by a few minutes.",
+          "type": "string"
+        }
+      },
       "type": "object"
     },
-    "ComputeEngine": {
-      "description": "Describes a Compute Engine resource that is being managed by a running pipeline.",
-      "id": "ComputeEngine",
+    "Action": {
+      "description": "Specifies a single action that runs a Docker container.",
+      "id": "Action",
       "properties": {
-        "diskNames": {
-          "description": "The names of the disks that were created for this pipeline.",
+        "commands": {
+          "description": "If specified, overrides the `CMD` specified in the container. If the container also has an `ENTRYPOINT` the values are used as entrypoint arguments. Otherwise, they are used as a command and arguments to run inside the container.",
           "items": {
             "type": "string"
           },
           "type": "array"
         },
-        "instanceName": {
-          "description": "The instance on which the operation is running.",
+        "credentials": {
+          "$ref": "Secret",
+          "description": "If the specified image is hosted on a private registry other than Google Container Registry, the credentials required to pull the image must be specified here as an encrypted secret. The secret must decrypt to a JSON-encoded dictionary containing both `username` and `password` keys."
+        },
+        "encryptedEnvironment": {
+          "$ref": "Secret",
+          "description": "The encrypted environment to pass into the container. This environment is merged with values specified in the google.genomics.v2alpha1.Pipeline message, overwriting any duplicate values. The secret must decrypt to a JSON-encoded dictionary where key-value pairs serve as environment variable names and their values. The decoded environment variables can overwrite the values specified by the `environment` field."
+        },
+        "entrypoint": {
+          "description": "If specified, overrides the `ENTRYPOINT` specified in the container.",
           "type": "string"
         },
-        "machineType": {
-          "description": "The machine type of the instance.",
+        "environment": {
+          "additionalProperties": {
+            "type": "string"
+          },
+          "description": "The environment to pass into the container. This environment is merged with values specified in the google.genomics.v2alpha1.Pipeline message, overwriting any duplicate values. In addition to the values passed here, a few other values are automatically injected into the environment. These cannot be hidden or overwritten. `GOOGLE_PIPELINE_FAILED` will be set to \"1\" if the pipeline failed because an action has exited with a non-zero status (and did not have the `IGNORE_EXIT_STATUS` flag set). This can be used to determine if additional debug or logging actions should execute. `GOOGLE_LAST_EXIT_STATUS` will be set to the exit status of the last non-background action that executed. This can be used by workflow engine authors to determine whether an individual action has succeeded or failed.",
+          "type": "object"
+        },
+        "flags": {
+          "description": "The set of flags to apply to this action.",
+          "items": {
+            "enum": [
+              "FLAG_UNSPECIFIED",
+              "IGNORE_EXIT_STATUS",
+              "RUN_IN_BACKGROUND",
+              "ALWAYS_RUN",
+              "ENABLE_FUSE",
+              "PUBLISH_EXPOSED_PORTS",
+              "DISABLE_IMAGE_PREFETCH",
+              "DISABLE_STANDARD_ERROR_CAPTURE",
+              "BLOCK_EXTERNAL_NETWORK"
+            ],
+            "enumDescriptions": [
+              "Unspecified flag.",
+              "Normally, a non-zero exit status causes the pipeline to fail. This flag allows execution of other actions to continue instead.",
+              "This flag allows an action to continue running in the background while executing subsequent actions. This is useful to provide services to other actions (or to provide debugging support tools like SSH servers).",
+              "By default, after an action fails, no further actions are run. This flag indicates that this action must be run even if the pipeline has already failed. This is useful for actions that copy output files off of the VM or for debugging. Note that no actions will be run if image prefetching fails.",
+              "Enable access to the FUSE device for this action. Filesystems can then be mounted into disks shared with other actions. The other actions do not need the `ENABLE_FUSE` flag to access the mounted filesystem. This has the effect of causing the container to be executed with `CAP_SYS_ADMIN` and exposes `/dev/fuse` to the container, so use it only for containers you trust.",
+              "Exposes all ports specified by `EXPOSE` statements in the container. To discover the host side port numbers, consult the `ACTION_STARTED` event in the operation metadata.",
+              "All container images are typically downloaded before any actions are executed. This helps prevent typos in URIs or issues like lack of disk space from wasting large amounts of compute resources. If set, this flag prevents the worker from downloading the image until just before the action is executed.",
+              "A small portion of the container's standard error stream is typically captured and returned inside the `ContainerStoppedEvent`. Setting this flag disables this functionality.",
+              "Prevents the container from accessing the external network."
+            ],
+            "type": "string"
+          },
+          "type": "array"
+        },
+        "imageUri": {
+          "description": "Required. The URI to pull the container image from. Note that all images referenced by actions in the pipeline are pulled before the first action runs. If multiple actions reference the same image, it is only pulled once, ensuring that the same image is used for all actions in a single pipeline. The image URI can be either a complete host and image specification (e.g., quay.io/biocontainers/samtools), a library and image name (e.g., google/cloud-sdk) or a bare image name ('bash') to pull from the default library. No schema is required in any of these cases. If the specified image is not public, the service account specified for the Virtual Machine must have access to pull the images from GCR, or appropriate credentials must be specified in the google.genomics.v2alpha1.Action.credentials field.",
           "type": "string"
         },
-        "zone": {
-          "description": "The availability zone in which the instance resides.",
+        "labels": {
+          "additionalProperties": {
+            "type": "string"
+          },
+          "description": "Labels to associate with the action. This field is provided to assist workflow engine authors in identifying actions (for example, to indicate what sort of action they perform, such as localization or debugging). They are returned in the operation metadata, but are otherwise ignored.",
+          "type": "object"
+        },
+        "mounts": {
+          "description": "A list of mounts to make available to the action. In addition to the values specified here, every action has a special virtual disk mounted under `/google` that contains log files and other operational components. - /google/logs All logs written during the pipeline execution. - /google/logs/output The combined standard output and standard error of all actions run as part of the pipeline execution. - /google/logs/action/*/stdout The complete contents of each individual action's standard output. - /google/logs/action/*/stderr The complete contents of each individual action's standard error output. ",
+          "items": {
+            "$ref": "Mount"
+          },
+          "type": "array"
+        },
+        "name": {
+          "description": "An optional name for the container. The container hostname will be set to this name, making it useful for inter-container communication. The name must contain only upper and lowercase alphanumeric characters and hyphens and cannot start with a hyphen.",
+          "type": "string"
+        },
+        "pidNamespace": {
+          "description": "An optional identifier for a PID namespace to run the action inside. Multiple actions should use the same string to share a namespace. If unspecified, a separate isolated namespace is used.",
+          "type": "string"
+        },
+        "portMappings": {
+          "additionalProperties": {
+            "format": "int32",
+            "type": "integer"
+          },
+          "description": "A map of containers to host port mappings for this container. If the container already specifies exposed ports, use the `PUBLISH_EXPOSED_PORTS` flag instead. The host port number must be less than 65536. If it is zero, an unused random port is assigned. To determine the resulting port number, consult the `ContainerStartedEvent` in the operation metadata.",
+          "type": "object"
+        },
+        "timeout": {
+          "description": "The maximum amount of time to give the action to complete. If the action fails to complete before the timeout, it will be terminated and the exit status will be non-zero. The pipeline will continue or terminate based on the rules defined by the `ALWAYS_RUN` and `IGNORE_EXIT_STATUS` flags.",
+          "format": "google-duration",
           "type": "string"
         }
       },
@@ -319,10 +290,28 @@
       },
       "type": "object"
     },
-    "Empty": {
-      "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } The JSON representation for `Empty` is empty JSON object `{}`.",
-      "id": "Empty",
-      "properties": {},
+    "Disk": {
+      "description": "Carries information about a disk that can be attached to a VM. See https://cloud.google.com/compute/docs/disks/performance for more information about disk type, size, and performance considerations. Specify either `Volume` or `Disk`, but not both.",
+      "id": "Disk",
+      "properties": {
+        "name": {
+          "description": "A user-supplied name for the disk. Used when mounting the disk into actions. The name must contain only upper and lowercase alphanumeric characters and hyphens and cannot start with a hyphen.",
+          "type": "string"
+        },
+        "sizeGb": {
+          "description": "The size, in GB, of the disk to attach. If the size is not specified, a default is chosen to ensure reasonable I/O performance. If the disk type is specified as `local-ssd`, multiple local drives are automatically combined to provide the requested size. Note, however, that each physical SSD is 375GB in size, and no more than 8 drives can be attached to a single instance.",
+          "format": "int32",
+          "type": "integer"
+        },
+        "sourceImage": {
+          "description": "An optional image to put on the disk before attaching it to the VM.",
+          "type": "string"
+        },
+        "type": {
+          "description": "The Compute Engine disk type. If unspecified, `pd-standard` is used.",
+          "type": "string"
+        }
+      },
       "type": "object"
     },
     "Event": {
@@ -349,6 +338,17 @@
       },
       "type": "object"
     },
+    "ExistingDisk": {
+      "description": "Configuration for an existing disk to be attached to the VM.",
+      "id": "ExistingDisk",
+      "properties": {
+        "disk": {
+          "description": "If `disk` contains slashes, the Cloud Life Sciences API assumes that it is a complete URL for the disk. If `disk` does not contain slashes, the Cloud Life Sciences API assumes that the disk is a zonal disk and a URL will be generated of the form `zones//disks/`, where `` is the zone in which the instance is allocated. The disk must be ext4 formatted. If all `Mount` references to this disk have the `read_only` flag set to true, the disk will be attached in `read-only` mode and can be shared with other instances. Otherwise, the disk will be available for writing but cannot be shared.",
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
     "FailedEvent": {
       "description": "An event generated when the execution of a pipeline has failed. Note that other events can continue to occur after this event.",
       "id": "FailedEvent",
@@ -402,102 +402,24 @@
       },
       "type": "object"
     },
-    "ListOperationsResponse": {
-      "description": "The response message for Operations.ListOperations.",
-      "id": "ListOperationsResponse",
+    "Metadata": {
+      "description": "Carries information about the pipeline execution that is returned in the long running operation's metadata field.",
+      "id": "Metadata",
       "properties": {
-        "nextPageToken": {
-          "description": "The standard List next-page token.",
-          "type": "string"
-        },
-        "operations": {
-          "description": "A list of operations that matches the specified filter in the request.",
-          "items": {
-            "$ref": "Operation"
-          },
-          "type": "array"
-        }
-      },
-      "type": "object"
-    },
-    "Operation": {
-      "description": "This resource represents a long-running operation that is the result of a network API call.",
-      "id": "Operation",
-      "properties": {
-        "done": {
-          "description": "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.",
-          "type": "boolean"
-        },
-        "error": {
-          "$ref": "Status",
-          "description": "The error result of the operation in case of failure or cancellation."
-        },
-        "metadata": {
-          "additionalProperties": {
-            "description": "Properties of the object. Contains field @type with type URL.",
-            "type": "any"
-          },
-          "description": "An OperationMetadata or Metadata object. This will always be returned with the Operation.",
-          "type": "object"
-        },
-        "name": {
-          "description": "The server-assigned name, which is only unique within the same service that originally returns it. For example: `operations/CJHU7Oi_ChDrveSpBRjfuL-qzoWAgEw`",
-          "type": "string"
-        },
-        "response": {
-          "additionalProperties": {
-            "description": "Properties of the object. Contains field @type with type URL.",
-            "type": "any"
-          },
-          "description": "An Empty object.",
-          "type": "object"
-        }
-      },
-      "type": "object"
-    },
-    "OperationEvent": {
-      "description": "An event that occurred during an Operation.",
-      "id": "OperationEvent",
-      "properties": {
-        "description": {
-          "description": "Required description of event.",
-          "type": "string"
-        },
-        "endTime": {
-          "description": "Optional time of when event finished. An event can have a start time and no finish time. If an event has a finish time, there must be a start time.",
-          "format": "google-datetime",
-          "type": "string"
-        },
-        "startTime": {
-          "description": "Optional time of when event started.",
-          "format": "google-datetime",
-          "type": "string"
-        }
-      },
-      "type": "object"
-    },
-    "OperationMetadata": {
-      "description": "Metadata describing an Operation.",
-      "id": "OperationMetadata",
-      "properties": {
-        "clientId": {
-          "description": "This field is deprecated. Use `labels` instead. Optionally provided by the caller when submitting the request that creates the operation.",
-          "type": "string"
-        },
         "createTime": {
-          "description": "The time at which the job was submitted to the Genomics service.",
+          "description": "The time at which the operation was created by the API.",
           "format": "google-datetime",
           "type": "string"
         },
         "endTime": {
-          "description": "The time at which the job stopped running.",
+          "description": "The time at which execution was completed and resources were cleaned up.",
           "format": "google-datetime",
           "type": "string"
         },
         "events": {
-          "description": "Optional event messages that were generated during the job's execution. This also contains any warnings that were generated during import or export.",
+          "description": "The list of events that have happened so far during the execution of this operation.",
           "items": {
-            "$ref": "OperationEvent"
+            "$ref": "Event"
           },
           "type": "array"
         },
@@ -505,37 +427,124 @@
           "additionalProperties": {
             "type": "string"
           },
-          "description": "Optionally provided by the caller when submitting the request that creates the operation.",
+          "description": "The user-defined labels associated with this operation.",
           "type": "object"
         },
-        "projectId": {
-          "description": "The Google Cloud Project in which the job is scoped.",
-          "type": "string"
-        },
-        "request": {
-          "additionalProperties": {
-            "description": "Properties of the object. Contains field @type with type URL.",
-            "type": "any"
-          },
-          "description": "The original request that started the operation. Note that this will be in current version of the API. If the operation was started with v1beta2 API and a GetOperation is performed on v1 API, a v1 request will be returned.",
-          "type": "object"
-        },
-        "runtimeMetadata": {
-          "additionalProperties": {
-            "description": "Properties of the object. Contains field @type with type URL.",
-            "type": "any"
-          },
-          "description": "Runtime metadata on this Operation.",
-          "type": "object"
+        "pipeline": {
+          "$ref": "Pipeline",
+          "description": "The pipeline this operation represents."
         },
         "startTime": {
-          "description": "The time at which the job began to run.",
+          "description": "The first time at which resources were allocated to execute the pipeline.",
           "format": "google-datetime",
           "type": "string"
         }
       },
       "type": "object"
     },
+    "Mount": {
+      "description": "Carries information about a particular disk mount inside a container.",
+      "id": "Mount",
+      "properties": {
+        "disk": {
+          "description": "The name of the disk to mount, as specified in the resources section.",
+          "type": "string"
+        },
+        "path": {
+          "description": "The path to mount the disk inside the container.",
+          "type": "string"
+        },
+        "readOnly": {
+          "description": "If true, the disk is mounted read-only inside the container.",
+          "type": "boolean"
+        }
+      },
+      "type": "object"
+    },
+    "NFSMount": {
+      "description": "Configuration for an `NFSMount` to be attached to the VM.",
+      "id": "NFSMount",
+      "properties": {
+        "target": {
+          "description": "A target NFS mount. The target must be specified as `address:/mount\".",
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
+    "Network": {
+      "description": "VM networking options.",
+      "id": "Network",
+      "properties": {
+        "name": {
+          "description": "The network name to attach the VM's network interface to. The value will be prefixed with `global/networks/` unless it contains a `/`, in which case it is assumed to be a fully specified network resource URL. If unspecified, the global default network is used.",
+          "type": "string"
+        },
+        "subnetwork": {
+          "description": "If the specified network is configured for custom subnet creation, the name of the subnetwork to attach the instance to must be specified here. The value is prefixed with `regions/*/subnetworks/` unless it contains a `/`, in which case it is assumed to be a fully specified subnetwork resource URL. If the `*` character appears in the value, it is replaced with the region that the virtual machine has been allocated in.",
+          "type": "string"
+        },
+        "usePrivateAddress": {
+          "description": "If set to true, do not attach a public IP address to the VM. Note that without a public IP address, additional configuration is required to allow the VM to access Google services. See https://cloud.google.com/vpc/docs/configure-private-google-access for more information.",
+          "type": "boolean"
+        }
+      },
+      "type": "object"
+    },
+    "PersistentDisk": {
+      "description": "Configuration for a persistent disk to be attached to the VM. See https://cloud.google.com/compute/docs/disks/performance for more information about disk type, size, and performance considerations.",
+      "id": "PersistentDisk",
+      "properties": {
+        "sizeGb": {
+          "description": "The size, in GB, of the disk to attach. If the size is not specified, a default is chosen to ensure reasonable I/O performance. If the disk type is specified as `local-ssd`, multiple local drives are automatically combined to provide the requested size. Note, however, that each physical SSD is 375GB in size, and no more than 8 drives can be attached to a single instance.",
+          "format": "int32",
+          "type": "integer"
+        },
+        "sourceImage": {
+          "description": "An image to put on the disk before attaching it to the VM.",
+          "type": "string"
+        },
+        "type": {
+          "description": "The Compute Engine disk type. If unspecified, `pd-standard` is used.",
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
+    "Pipeline": {
+      "description": "Specifies a series of actions to execute, expressed as Docker containers.",
+      "id": "Pipeline",
+      "properties": {
+        "actions": {
+          "description": "The list of actions to execute, in the order they are specified.",
+          "items": {
+            "$ref": "Action"
+          },
+          "type": "array"
+        },
+        "encryptedEnvironment": {
+          "$ref": "Secret",
+          "description": "The encrypted environment to pass into every action. Each action can also specify its own encrypted environment. The secret must decrypt to a JSON-encoded dictionary where key-value pairs serve as environment variable names and their values. The decoded environment variables can overwrite the values specified by the `environment` field."
+        },
+        "environment": {
+          "additionalProperties": {
+            "type": "string"
+          },
+          "description": "The environment to pass into every action. Each action can also specify additional environment variables but cannot delete an entry from this map (though they can overwrite it with a different value).",
+          "type": "object"
+        },
+        "resources": {
+          "$ref": "Resources",
+          "description": "The resources required for execution."
+        },
+        "timeout": {
+          "description": "The maximum amount of time to give the pipeline to complete. This includes the time spent waiting for a worker to be allocated. If the pipeline fails to complete before the timeout, it will be cancelled and the error code will be set to DEADLINE_EXCEEDED. If unspecified, it will default to 7 days.",
+          "format": "google-duration",
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
     "PullStartedEvent": {
       "description": "An event generated when the worker starts pulling an image.",
       "id": "PullStartedEvent",
@@ -558,46 +567,70 @@
       },
       "type": "object"
     },
+    "Resources": {
+      "description": "The system resources for the pipeline run. At least one zone or region must be specified or the pipeline run will fail.",
+      "id": "Resources",
+      "properties": {
+        "projectId": {
+          "description": "The project ID to allocate resources in.",
+          "type": "string"
+        },
+        "regions": {
+          "description": "The list of regions allowed for VM allocation. If set, the `zones` field must not be set.",
+          "items": {
+            "type": "string"
+          },
+          "type": "array"
+        },
+        "virtualMachine": {
+          "$ref": "VirtualMachine",
+          "description": "The virtual machine specification."
+        },
+        "zones": {
+          "description": "The list of zones allowed for VM allocation. If set, the `regions` field must not be set.",
+          "items": {
+            "type": "string"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
     "RunPipelineResponse": {
       "description": "The response to the RunPipeline method, returned in the operation's result field on success.",
       "id": "RunPipelineResponse",
       "properties": {},
       "type": "object"
     },
-    "RuntimeMetadata": {
-      "description": "Runtime metadata that will be populated in the runtimeMetadata field of the Operation associated with a RunPipeline execution.",
-      "id": "RuntimeMetadata",
+    "Secret": {
+      "description": "Holds encrypted information that is only decrypted and stored in RAM by the worker VM when running the pipeline.",
+      "id": "Secret",
       "properties": {
-        "computeEngine": {
-          "$ref": "ComputeEngine",
-          "description": "Execution information specific to Google Compute Engine."
+        "cipherText": {
+          "description": "The value of the cipherText response from the `encrypt` method. This field is intentionally unaudited.",
+          "type": "string"
+        },
+        "keyName": {
+          "description": "The name of the Cloud KMS key that will be used to decrypt the secret value. The VM service account must have the required permissions and authentication scopes to invoke the `decrypt` method on the specified key.",
+          "type": "string"
         }
       },
       "type": "object"
     },
-    "Status": {
-      "description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).",
-      "id": "Status",
+    "ServiceAccount": {
+      "description": "Carries information about a Google Cloud service account.",
+      "id": "ServiceAccount",
       "properties": {
-        "code": {
-          "description": "The status code, which should be an enum value of google.rpc.Code.",
-          "format": "int32",
-          "type": "integer"
+        "email": {
+          "description": "Email address of the service account. If not specified, the default Compute Engine service account for the project will be used.",
+          "type": "string"
         },
-        "details": {
-          "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.",
+        "scopes": {
+          "description": "List of scopes to be enabled for this service account on the VM, in addition to the cloud-platform API scope that will be added by default.",
           "items": {
-            "additionalProperties": {
-              "description": "Properties of the object. Contains field @type with type URL.",
-              "type": "any"
-            },
-            "type": "object"
+            "type": "string"
           },
           "type": "array"
-        },
-        "message": {
-          "description": "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.",
-          "type": "string"
         }
       },
       "type": "object"
@@ -619,6 +652,108 @@
       },
       "type": "object"
     },
+    "VirtualMachine": {
+      "description": "Carries information about a Compute Engine VM resource.",
+      "id": "VirtualMachine",
+      "properties": {
+        "accelerators": {
+          "description": "The list of accelerators to attach to the VM.",
+          "items": {
+            "$ref": "Accelerator"
+          },
+          "type": "array"
+        },
+        "bootDiskSizeGb": {
+          "description": "The size of the boot disk, in GB. The boot disk must be large enough to accommodate all of the Docker images from each action in the pipeline at the same time. If not specified, a small but reasonable default value is used.",
+          "format": "int32",
+          "type": "integer"
+        },
+        "bootImage": {
+          "description": "The host operating system image to use. Currently, only Container-Optimized OS images can be used. The default value is `projects/cos-cloud/global/images/family/cos-stable`, which selects the latest stable release of Container-Optimized OS. This option is provided to allow testing against the beta release of the operating system to ensure that the new version does not interact negatively with production pipelines. To test a pipeline against the beta release of Container-Optimized OS, use the value `projects/cos-cloud/global/images/family/cos-beta`.",
+          "type": "string"
+        },
+        "cpuPlatform": {
+          "description": "The CPU platform to request. An instance based on a newer platform can be allocated, but never one with fewer capabilities. The value of this parameter must be a valid Compute Engine CPU platform name (such as \"Intel Skylake\"). This parameter is only useful for carefully optimized work loads where the CPU platform has a significant impact. For more information about the effect of this parameter, see https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform.",
+          "type": "string"
+        },
+        "disks": {
+          "description": "The list of disks to create and attach to the VM. Specify either the `volumes[]` field or the `disks[]` field, but not both.",
+          "items": {
+            "$ref": "Disk"
+          },
+          "type": "array"
+        },
+        "dockerCacheImages": {
+          "description": "The Compute Engine Disk Images to use as a Docker cache. The disks will be mounted into the Docker folder in a way that the images present in the cache will not need to be pulled. The digests of the cached images must match those of the tags used or the latest version will still be pulled. The root directory of the ext4 image must contain `image` and `overlay2` directories copied from the Docker directory of a VM where the desired Docker images have already been pulled. Any images pulled that are not cached will be stored on the first cache disk instead of the boot disk. Only a single image is supported.",
+          "items": {
+            "type": "string"
+          },
+          "type": "array"
+        },
+        "enableStackdriverMonitoring": {
+          "description": "Whether Stackdriver monitoring should be enabled on the VM.",
+          "type": "boolean"
+        },
+        "labels": {
+          "additionalProperties": {
+            "type": "string"
+          },
+          "description": "Optional set of labels to apply to the VM and any attached disk resources. These labels must adhere to the [name and value restrictions](https://cloud.google.com/compute/docs/labeling-resources) on VM labels imposed by Compute Engine. Labels keys with the prefix 'google-' are reserved for use by Google. Labels applied at creation time to the VM. Applied on a best-effort basis to attached disk resources shortly after VM creation.",
+          "type": "object"
+        },
+        "machineType": {
+          "description": "Required. The machine type of the virtual machine to create. Must be the short name of a standard machine type (such as \"n1-standard-1\") or a custom machine type (such as \"custom-1-4096\", where \"1\" indicates the number of vCPUs and \"4096\" indicates the memory in MB). See [Creating an instance with a custom machine type](https://cloud.google.com/compute/docs/instances/creating-instance-with-custom-machine-type#create) for more specifications on creating a custom machine type.",
+          "type": "string"
+        },
+        "network": {
+          "$ref": "Network",
+          "description": "The VM network configuration."
+        },
+        "nvidiaDriverVersion": {
+          "description": "The NVIDIA driver version to use when attaching an NVIDIA GPU accelerator. The version specified here must be compatible with the GPU libraries contained in the container being executed, and must be one of the drivers hosted in the `nvidia-drivers-us-public` bucket on Google Cloud Storage.",
+          "type": "string"
+        },
+        "preemptible": {
+          "description": "If true, allocate a preemptible VM.",
+          "type": "boolean"
+        },
+        "serviceAccount": {
+          "$ref": "ServiceAccount",
+          "description": "The service account to install on the VM. This account does not need any permissions other than those required by the pipeline."
+        },
+        "volumes": {
+          "description": "The list of disks and other storage to create or attach to the VM. Specify either the `volumes[]` field or the `disks[]` field, but not both.",
+          "items": {
+            "$ref": "Volume"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "Volume": {
+      "description": "Carries information about storage that can be attached to a VM. Specify either `Volume` or `Disk`, but not both.",
+      "id": "Volume",
+      "properties": {
+        "existingDisk": {
+          "$ref": "ExistingDisk",
+          "description": "Configuration for a existing disk."
+        },
+        "nfsMount": {
+          "$ref": "NFSMount",
+          "description": "Configuration for an NFS mount."
+        },
+        "persistentDisk": {
+          "$ref": "PersistentDisk",
+          "description": "Configuration for a persistent disk."
+        },
+        "volume": {
+          "description": "A user-supplied name for the volume. Used when mounting the volume into `Actions`. The name must contain only upper and lowercase alphanumeric characters and hyphens and cannot start with a hyphen.",
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
     "WorkerAssignedEvent": {
       "description": "An event generated after a worker VM has been assigned to run the pipeline.",
       "id": "WorkerAssignedEvent",
@@ -656,5 +791,6 @@
   },
   "servicePath": "",
   "title": "Genomics API",
-  "version": "v1"
+  "version": "v1",
+  "version_module": true
 }
\ No newline at end of file
diff --git a/googleapiclient/discovery_cache/documents/genomics.v2alpha1.json b/googleapiclient/discovery_cache/documents/genomics.v2alpha1.json
index d78a1e3..2d99abd 100644
--- a/googleapiclient/discovery_cache/documents/genomics.v2alpha1.json
+++ b/googleapiclient/discovery_cache/documents/genomics.v2alpha1.json
@@ -199,7 +199,7 @@
               ],
               "parameters": {
                 "filter": {
-                  "description": "A string for filtering Operations. In v2alpha1, the following filter fields are supported: * createTime: The time this job was created * events: The set of event (names) that have occurred while running the pipeline. The : operator can be used to determine if a particular event has occurred. * error: If the pipeline is running, this value is NULL. Once the pipeline finishes, the value is the standard Google error code. * labels.key or labels.\"key with space\" where key is a label key. * done: If the pipeline is running, this value is false. Once the pipeline finishes, the value is true. In v1 and v1alpha2, the following filter fields are supported: * projectId: Required. Corresponds to OperationMetadata.projectId. * createTime: The time this job was created, in seconds from the [epoch](http://en.wikipedia.org/wiki/Unix_time). Can use `>=` and/or `<=` operators. * status: Can be `RUNNING`, `SUCCESS`, `FAILURE`, or `CANCELED`. Only one status may be specified. * labels.key where key is a label key. Examples: * `projectId = my-project AND createTime >= 1432140000` * `projectId = my-project AND createTime >= 1432140000 AND createTime <= 1432150000 AND status = RUNNING` * `projectId = my-project AND labels.color = *` * `projectId = my-project AND labels.color = red`",
+                  "description": "A string for filtering Operations. In v2alpha1, the following filter fields are supported: * createTime: The time this job was created * events: The set of event (names) that have occurred while running the pipeline. The : operator can be used to determine if a particular event has occurred. * error: If the pipeline is running, this value is NULL. Once the pipeline finishes, the value is the standard Google error code. * labels.key or labels.\"key with space\" where key is a label key. * done: If the pipeline is running, this value is false. Once the pipeline finishes, the value is true. Examples: * `projectId = my-project AND createTime >= 1432140000` * `projectId = my-project AND createTime >= 1432140000 AND createTime <= 1432150000 AND status = RUNNING` * `projectId = my-project AND labels.color = *` * `projectId = my-project AND labels.color = red`",
                   "location": "query",
                   "type": "string"
                 },
@@ -301,7 +301,7 @@
       }
     }
   },
-  "revision": "20210503",
+  "revision": "20210512",
   "rootUrl": "https://genomics.googleapis.com/",
   "schemas": {
     "Accelerator": {
@@ -494,32 +494,6 @@
       },
       "type": "object"
     },
-    "ComputeEngine": {
-      "description": "Describes a Compute Engine resource that is being managed by a running pipeline.",
-      "id": "ComputeEngine",
-      "properties": {
-        "diskNames": {
-          "description": "The names of the disks that were created for this pipeline.",
-          "items": {
-            "type": "string"
-          },
-          "type": "array"
-        },
-        "instanceName": {
-          "description": "The instance on which the operation is running.",
-          "type": "string"
-        },
-        "machineType": {
-          "description": "The machine type of the instance.",
-          "type": "string"
-        },
-        "zone": {
-          "description": "The availability zone in which the instance resides.",
-          "type": "string"
-        }
-      },
-      "type": "object"
-    },
     "ContainerKilledEvent": {
       "description": "An event generated when a container is forcibly terminated by the worker. Currently, this only occurs when the container outlives the timeout specified by the user.",
       "id": "ContainerKilledEvent",
@@ -872,87 +846,6 @@
       },
       "type": "object"
     },
-    "OperationEvent": {
-      "description": "An event that occurred during an Operation.",
-      "id": "OperationEvent",
-      "properties": {
-        "description": {
-          "description": "Required description of event.",
-          "type": "string"
-        },
-        "endTime": {
-          "description": "Optional time of when event finished. An event can have a start time and no finish time. If an event has a finish time, there must be a start time.",
-          "format": "google-datetime",
-          "type": "string"
-        },
-        "startTime": {
-          "description": "Optional time of when event started.",
-          "format": "google-datetime",
-          "type": "string"
-        }
-      },
-      "type": "object"
-    },
-    "OperationMetadata": {
-      "description": "Metadata describing an Operation.",
-      "id": "OperationMetadata",
-      "properties": {
-        "clientId": {
-          "description": "This field is deprecated. Use `labels` instead. Optionally provided by the caller when submitting the request that creates the operation.",
-          "type": "string"
-        },
-        "createTime": {
-          "description": "The time at which the job was submitted to the Genomics service.",
-          "format": "google-datetime",
-          "type": "string"
-        },
-        "endTime": {
-          "description": "The time at which the job stopped running.",
-          "format": "google-datetime",
-          "type": "string"
-        },
-        "events": {
-          "description": "Optional event messages that were generated during the job's execution. This also contains any warnings that were generated during import or export.",
-          "items": {
-            "$ref": "OperationEvent"
-          },
-          "type": "array"
-        },
-        "labels": {
-          "additionalProperties": {
-            "type": "string"
-          },
-          "description": "Optionally provided by the caller when submitting the request that creates the operation.",
-          "type": "object"
-        },
-        "projectId": {
-          "description": "The Google Cloud Project in which the job is scoped.",
-          "type": "string"
-        },
-        "request": {
-          "additionalProperties": {
-            "description": "Properties of the object. Contains field @type with type URL.",
-            "type": "any"
-          },
-          "description": "The original request that started the operation. Note that this will be in current version of the API. If the operation was started with v1beta2 API and a GetOperation is performed on v1 API, a v1 request will be returned.",
-          "type": "object"
-        },
-        "runtimeMetadata": {
-          "additionalProperties": {
-            "description": "Properties of the object. Contains field @type with type URL.",
-            "type": "any"
-          },
-          "description": "Runtime metadata on this Operation.",
-          "type": "object"
-        },
-        "startTime": {
-          "description": "The time at which the job began to run.",
-          "format": "google-datetime",
-          "type": "string"
-        }
-      },
-      "type": "object"
-    },
     "PersistentDisk": {
       "description": "Configuration for a persistent disk to be attached to the VM. See https://cloud.google.com/compute/docs/disks/performance for more information about disk type, size, and performance considerations.",
       "id": "PersistentDisk",
@@ -1086,17 +979,6 @@
       "properties": {},
       "type": "object"
     },
-    "RuntimeMetadata": {
-      "description": "Runtime metadata that will be populated in the runtimeMetadata field of the Operation associated with a RunPipeline execution.",
-      "id": "RuntimeMetadata",
-      "properties": {
-        "computeEngine": {
-          "$ref": "ComputeEngine",
-          "description": "Execution information specific to Google Compute Engine."
-        }
-      },
-      "type": "object"
-    },
     "Secret": {
       "description": "Holds encrypted information that is only decrypted and stored in RAM by the worker VM when running the pipeline.",
       "id": "Secret",
diff --git a/googleapiclient/discovery_cache/documents/gkehub.v1.json b/googleapiclient/discovery_cache/documents/gkehub.v1.json
index 19ae576..830e261 100644
--- a/googleapiclient/discovery_cache/documents/gkehub.v1.json
+++ b/googleapiclient/discovery_cache/documents/gkehub.v1.json
@@ -180,7 +180,7 @@
             "memberships": {
               "methods": {
                 "create": {
-                  "description": "Adds a new Membership.",
+                  "description": "Creates a new Membership. **This is currently only supported for GKE clusters on Google Cloud**. To register other clusters, follow the instructions at https://cloud.google.com/anthos/multicluster-management/connect/registering-a-cluster.",
                   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/memberships",
                   "httpMethod": "POST",
                   "id": "gkehub.projects.locations.memberships.create",
@@ -218,7 +218,7 @@
                   ]
                 },
                 "delete": {
-                  "description": "Removes a Membership.",
+                  "description": "Removes a Membership. **This is currently only supported for GKE clusters on Google Cloud**. To unregister other clusters, follow the instructions at https://cloud.google.com/anthos/multicluster-management/connect/unregistering-a-cluster.",
                   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/memberships/{membershipsId}",
                   "httpMethod": "DELETE",
                   "id": "gkehub.projects.locations.memberships.delete",
@@ -248,7 +248,7 @@
                   ]
                 },
                 "generateConnectManifest": {
-                  "description": "Generates the manifest for deployment of the GKE connect agent.",
+                  "description": "Generates the manifest for deployment of the GKE connect agent. **This method is used internally by Google-provided libraries.** Most clients should not need to call this method directly.",
                   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/memberships/{membershipsId}:generateConnectManifest",
                   "httpMethod": "GET",
                   "id": "gkehub.projects.locations.memberships.generateConnectManifest",
@@ -631,7 +631,7 @@
       }
     }
   },
-  "revision": "20210430",
+  "revision": "20210507",
   "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 eab8629..ebf1294 100644
--- a/googleapiclient/discovery_cache/documents/gkehub.v1alpha.json
+++ b/googleapiclient/discovery_cache/documents/gkehub.v1alpha.json
@@ -670,7 +670,7 @@
       }
     }
   },
-  "revision": "20210430",
+  "revision": "20210507",
   "rootUrl": "https://gkehub.googleapis.com/",
   "schemas": {
     "AuditConfig": {
@@ -750,7 +750,7 @@
       "type": "object"
     },
     "CloudAuditLoggingFeatureSpec": {
-      "description": "Spec for Audit Logging Allowlisting.",
+      "description": "**Cloud Audit Logging**: Spec for Audit Logging Allowlisting.",
       "id": "CloudAuditLoggingFeatureSpec",
       "properties": {
         "allowlistedServiceAccounts": {
@@ -1232,7 +1232,7 @@
       "type": "object"
     },
     "ConfigManagementMembershipSpec": {
-      "description": "Configuration for a single cluster. Intended to parallel the ConfigManagement CR.",
+      "description": "**Anthos Config Management**: Configuration for a single cluster. Intended to parallel the ConfigManagement CR.",
       "id": "ConfigManagementMembershipSpec",
       "properties": {
         "binauthz": {
@@ -1259,7 +1259,7 @@
       "type": "object"
     },
     "ConfigManagementMembershipState": {
-      "description": "State for Anthos Config Management",
+      "description": "**Anthos Config Management**: State for a single cluster.",
       "id": "ConfigManagementMembershipState",
       "properties": {
         "binauthzState": {
@@ -1773,7 +1773,7 @@
       "type": "object"
     },
     "MeteringMembershipState": {
-      "description": "Metering per-Membership Feature State.",
+      "description": "**Metering**: Per-Membership Feature State.",
       "id": "MeteringMembershipState",
       "properties": {
         "lastMeasurementTime": {
@@ -1790,7 +1790,7 @@
       "type": "object"
     },
     "MultiClusterIngressFeatureSpec": {
-      "description": "FeatureSpec contains the input for the MultiClusterIngress feature.",
+      "description": "**Multi-cluster Ingress**: The configuration for the MultiClusterIngress feature.",
       "id": "MultiClusterIngressFeatureSpec",
       "properties": {
         "billing": {
@@ -1986,7 +1986,7 @@
       "type": "object"
     },
     "ServiceMeshFeatureState": {
-      "description": "FeatureState describes the state of the Service Mesh Hub Feature as analyzed by the Service Mesh Hub Controller, for the whole Hub.",
+      "description": "**Service Mesh**: State for the whole Hub, as analyzed by the Service Mesh Hub Controller.",
       "id": "ServiceMeshFeatureState",
       "properties": {
         "analysisMessages": {
@@ -2001,7 +2001,7 @@
       "type": "object"
     },
     "ServiceMeshMembershipState": {
-      "description": "MembershipState describes the state of the Service Mesh Hub Feature as analyzed by the Service Mesh Hub Controller, for single Membership.",
+      "description": "**Service Mesh**: State for a single Membership, as analyzed by the Service Mesh Hub Controller.",
       "id": "ServiceMeshMembershipState",
       "properties": {
         "analysisMessages": {
diff --git a/googleapiclient/discovery_cache/documents/gkehub.v1alpha2.json b/googleapiclient/discovery_cache/documents/gkehub.v1alpha2.json
index cfbb74e..e8b1448 100644
--- a/googleapiclient/discovery_cache/documents/gkehub.v1alpha2.json
+++ b/googleapiclient/discovery_cache/documents/gkehub.v1alpha2.json
@@ -216,7 +216,7 @@
             "memberships": {
               "methods": {
                 "create": {
-                  "description": "Adds a new Membership.",
+                  "description": "Creates a new Membership. **This is currently only supported for GKE clusters on Google Cloud**. To register other clusters, follow the instructions at https://cloud.google.com/anthos/multicluster-management/connect/registering-a-cluster.",
                   "flatPath": "v1alpha2/projects/{projectsId}/locations/{locationsId}/memberships",
                   "httpMethod": "POST",
                   "id": "gkehub.projects.locations.memberships.create",
@@ -249,7 +249,7 @@
                   ]
                 },
                 "delete": {
-                  "description": "Removes a Membership.",
+                  "description": "Removes a Membership. **This is currently only supported for GKE clusters on Google Cloud**. To unregister other clusters, follow the instructions at https://cloud.google.com/anthos/multicluster-management/connect/unregistering-a-cluster.",
                   "flatPath": "v1alpha2/projects/{projectsId}/locations/{locationsId}/memberships/{membershipsId}",
                   "httpMethod": "DELETE",
                   "id": "gkehub.projects.locations.memberships.delete",
@@ -274,7 +274,7 @@
                   ]
                 },
                 "generateConnectManifest": {
-                  "description": "Generates the manifest for deployment of the GKE connect agent.",
+                  "description": "Generates the manifest for deployment of the GKE connect agent. **This method is used internally by Google-provided libraries.** Most clients should not need to call this method directly.",
                   "flatPath": "v1alpha2/projects/{projectsId}/locations/{locationsId}/memberships/{membershipsId}:generateConnectManifest",
                   "httpMethod": "GET",
                   "id": "gkehub.projects.locations.memberships.generateConnectManifest",
@@ -652,7 +652,7 @@
       }
     }
   },
-  "revision": "20210430",
+  "revision": "20210507",
   "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 4ee7ad0..dc9cfc1 100644
--- a/googleapiclient/discovery_cache/documents/gkehub.v1beta.json
+++ b/googleapiclient/discovery_cache/documents/gkehub.v1beta.json
@@ -670,7 +670,7 @@
       }
     }
   },
-  "revision": "20210430",
+  "revision": "20210507",
   "rootUrl": "https://gkehub.googleapis.com/",
   "schemas": {
     "AuditConfig": {
@@ -1210,7 +1210,7 @@
       "type": "object"
     },
     "ConfigManagementMembershipSpec": {
-      "description": "Configuration for a single cluster. Intended to parallel the ConfigManagement CR.",
+      "description": "**Anthos Config Management**: Configuration for a single cluster. Intended to parallel the ConfigManagement CR.",
       "id": "ConfigManagementMembershipSpec",
       "properties": {
         "binauthz": {
@@ -1237,7 +1237,7 @@
       "type": "object"
     },
     "ConfigManagementMembershipState": {
-      "description": "State for Anthos Config Management",
+      "description": "**Anthos Config Management**: State for a single cluster.",
       "id": "ConfigManagementMembershipState",
       "properties": {
         "binauthzState": {
@@ -1747,7 +1747,7 @@
       "type": "object"
     },
     "MeteringMembershipState": {
-      "description": "Metering per-Membership Feature State.",
+      "description": "**Metering**: Per-Membership Feature State.",
       "id": "MeteringMembershipState",
       "properties": {
         "lastMeasurementTime": {
@@ -1764,7 +1764,7 @@
       "type": "object"
     },
     "MultiClusterIngressFeatureSpec": {
-      "description": "FeatureSpec contains the input for the MultiClusterIngress feature.",
+      "description": "**Multi-cluster Ingress**: The configuration for the MultiClusterIngress feature.",
       "id": "MultiClusterIngressFeatureSpec",
       "properties": {
         "billing": {
diff --git a/googleapiclient/discovery_cache/documents/gkehub.v1beta1.json b/googleapiclient/discovery_cache/documents/gkehub.v1beta1.json
index dff8f52..78989af 100644
--- a/googleapiclient/discovery_cache/documents/gkehub.v1beta1.json
+++ b/googleapiclient/discovery_cache/documents/gkehub.v1beta1.json
@@ -180,7 +180,7 @@
             "memberships": {
               "methods": {
                 "create": {
-                  "description": "Adds a new Membership.",
+                  "description": "Creates a new Membership. **This is currently only supported for GKE clusters on Google Cloud**. To register other clusters, follow the instructions at https://cloud.google.com/anthos/multicluster-management/connect/registering-a-cluster.",
                   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/memberships",
                   "httpMethod": "POST",
                   "id": "gkehub.projects.locations.memberships.create",
@@ -218,7 +218,7 @@
                   ]
                 },
                 "delete": {
-                  "description": "Removes a Membership.",
+                  "description": "Removes a Membership. **This is currently only supported for GKE clusters on Google Cloud**. To unregister other clusters, follow the instructions at https://cloud.google.com/anthos/multicluster-management/connect/unregistering-a-cluster.",
                   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/memberships/{membershipsId}",
                   "httpMethod": "DELETE",
                   "id": "gkehub.projects.locations.memberships.delete",
@@ -248,7 +248,7 @@
                   ]
                 },
                 "generateConnectManifest": {
-                  "description": "Generates the manifest for deployment of the GKE connect agent.",
+                  "description": "Generates the manifest for deployment of the GKE connect agent. **This method is used internally by Google-provided libraries.** Most clients should not need to call this method directly.",
                   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/memberships/{membershipsId}:generateConnectManifest",
                   "httpMethod": "GET",
                   "id": "gkehub.projects.locations.memberships.generateConnectManifest",
@@ -706,7 +706,7 @@
       }
     }
   },
-  "revision": "20210430",
+  "revision": "20210507",
   "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 bdb1370..ad693a5 100644
--- a/googleapiclient/discovery_cache/documents/gmail.v1.json
+++ b/googleapiclient/discovery_cache/documents/gmail.v1.json
@@ -30,7 +30,7 @@
           "description": "View your email message metadata such as labels and headers, but not the email body"
         },
         "https://www.googleapis.com/auth/gmail.modify": {
-          "description": "View and modify but not delete your email"
+          "description": "Read, compose, and send emails from your Gmail account"
         },
         "https://www.googleapis.com/auth/gmail.readonly": {
           "description": "View your email messages and settings"
@@ -2682,7 +2682,7 @@
       }
     }
   },
-  "revision": "20210426",
+  "revision": "20210510",
   "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 7cd394f..3df9a22 100644
--- a/googleapiclient/discovery_cache/documents/gmailpostmastertools.v1.json
+++ b/googleapiclient/discovery_cache/documents/gmailpostmastertools.v1.json
@@ -265,7 +265,7 @@
       }
     }
   },
-  "revision": "20210506",
+  "revision": "20210513",
   "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 7aa613a..3bf5e04 100644
--- a/googleapiclient/discovery_cache/documents/gmailpostmastertools.v1beta1.json
+++ b/googleapiclient/discovery_cache/documents/gmailpostmastertools.v1beta1.json
@@ -265,7 +265,7 @@
       }
     }
   },
-  "revision": "20210506",
+  "revision": "20210513",
   "rootUrl": "https://gmailpostmastertools.googleapis.com/",
   "schemas": {
     "DeliveryError": {
diff --git a/googleapiclient/discovery_cache/documents/groupssettings.v1.json b/googleapiclient/discovery_cache/documents/groupssettings.v1.json
index a838756..3c3490d 100644
--- a/googleapiclient/discovery_cache/documents/groupssettings.v1.json
+++ b/googleapiclient/discovery_cache/documents/groupssettings.v1.json
@@ -152,7 +152,7 @@
       }
     }
   },
-  "revision": "20210429",
+  "revision": "20210506",
   "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 0274354..d79c66a 100644
--- a/googleapiclient/discovery_cache/documents/healthcare.v1.json
+++ b/googleapiclient/discovery_cache/documents/healthcare.v1.json
@@ -3916,7 +3916,7 @@
       }
     }
   },
-  "revision": "20210422",
+  "revision": "20210428",
   "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 e56451c..3e3958b 100644
--- a/googleapiclient/discovery_cache/documents/healthcare.v1beta1.json
+++ b/googleapiclient/discovery_cache/documents/healthcare.v1beta1.json
@@ -4837,7 +4837,7 @@
       }
     }
   },
-  "revision": "20210422",
+  "revision": "20210428",
   "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 1bfca58..995352c 100644
--- a/googleapiclient/discovery_cache/documents/homegraph.v1.json
+++ b/googleapiclient/discovery_cache/documents/homegraph.v1.json
@@ -216,7 +216,7 @@
       }
     }
   },
-  "revision": "20210430",
+  "revision": "20210507",
   "rootUrl": "https://homegraph.googleapis.com/",
   "schemas": {
     "AgentDeviceId": {
diff --git a/googleapiclient/discovery_cache/documents/indexing.v3.json b/googleapiclient/discovery_cache/documents/indexing.v3.json
index cd6d4b7..65057c0 100644
--- a/googleapiclient/discovery_cache/documents/indexing.v3.json
+++ b/googleapiclient/discovery_cache/documents/indexing.v3.json
@@ -149,7 +149,7 @@
       }
     }
   },
-  "revision": "20210427",
+  "revision": "20210507",
   "rootUrl": "https://indexing.googleapis.com/",
   "schemas": {
     "PublishUrlNotificationResponse": {
diff --git a/googleapiclient/discovery_cache/documents/language.v1.json b/googleapiclient/discovery_cache/documents/language.v1.json
index ddd3c93..30c8a64 100644
--- a/googleapiclient/discovery_cache/documents/language.v1.json
+++ b/googleapiclient/discovery_cache/documents/language.v1.json
@@ -227,7 +227,7 @@
       }
     }
   },
-  "revision": "20210501",
+  "revision": "20210508",
   "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 0eeab45..1fc600a 100644
--- a/googleapiclient/discovery_cache/documents/language.v1beta1.json
+++ b/googleapiclient/discovery_cache/documents/language.v1beta1.json
@@ -189,7 +189,7 @@
       }
     }
   },
-  "revision": "20210501",
+  "revision": "20210508",
   "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 e0ca1b0..174213c 100644
--- a/googleapiclient/discovery_cache/documents/language.v1beta2.json
+++ b/googleapiclient/discovery_cache/documents/language.v1beta2.json
@@ -227,7 +227,7 @@
       }
     }
   },
-  "revision": "20210501",
+  "revision": "20210508",
   "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 ea30840..c09e65a 100644
--- a/googleapiclient/discovery_cache/documents/libraryagent.v1.json
+++ b/googleapiclient/discovery_cache/documents/libraryagent.v1.json
@@ -279,7 +279,7 @@
       }
     }
   },
-  "revision": "20210506",
+  "revision": "20210513",
   "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 1f21990..ef4c81a 100644
--- a/googleapiclient/discovery_cache/documents/licensing.v1.json
+++ b/googleapiclient/discovery_cache/documents/licensing.v1.json
@@ -400,7 +400,7 @@
       }
     }
   },
-  "revision": "20210501",
+  "revision": "20210510",
   "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 6d11639..a7d4cb8 100644
--- a/googleapiclient/discovery_cache/documents/localservices.v1.json
+++ b/googleapiclient/discovery_cache/documents/localservices.v1.json
@@ -250,7 +250,7 @@
       }
     }
   },
-  "revision": "20210427",
+  "revision": "20210513",
   "rootUrl": "https://localservices.googleapis.com/",
   "schemas": {
     "GoogleAdsHomeservicesLocalservicesV1AccountReport": {
diff --git a/googleapiclient/discovery_cache/documents/logging.v2.json b/googleapiclient/discovery_cache/documents/logging.v2.json
index 0c72e68..9255391 100644
--- a/googleapiclient/discovery_cache/documents/logging.v2.json
+++ b/googleapiclient/discovery_cache/documents/logging.v2.json
@@ -4934,7 +4934,7 @@
       }
     }
   },
-  "revision": "20210422",
+  "revision": "20210507",
   "rootUrl": "https://logging.googleapis.com/",
   "schemas": {
     "BigQueryOptions": {
@@ -5476,16 +5476,16 @@
           "additionalProperties": {
             "type": "string"
           },
-          "description": "Optional. A set of user-defined (key, value) data that provides additional information about the log entry.Cloud Logging truncates label keys that exceed 512 B and label values that exceed 64 KB upon their associated log entry being written. The truncation is indicated by an ellipsis at the end of the character string.",
+          "description": "Optional. A map of key, value pairs that provides additional information about the log entry. The labels can be user-defined or system-defined.User-defined labels are arbitrary key, value pairs that you can use to classify logs.System-defined labels are defined by GCP services for platform logs. They have two components - a service namespace component and the attribute name. For example: compute.googleapis.com/resource_name.Cloud Logging truncates label keys that exceed 512 B and label values that exceed 64 KB upon their associated log entry being written. The truncation is indicated by an ellipsis at the end of the character string.",
           "type": "object"
         },
         "logName": {
-          "description": "Required. The resource name of the log to which this log entry belongs: \"projects/[PROJECT_ID]/logs/[LOG_ID]\" \"organizations/[ORGANIZATION_ID]/logs/[LOG_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/logs/[LOG_ID]\" \"folders/[FOLDER_ID]/logs/[LOG_ID]\" A project number may be used in place of PROJECT_ID. The project number is translated to its corresponding PROJECT_ID internally and the log_name field will contain PROJECT_ID in queries and exports.[LOG_ID] must be URL-encoded within log_name. Example: \"organizations/1234567890/logs/cloudresourcemanager.googleapis.com%2Factivity\". [LOG_ID] must be less than 512 characters long and can only include the following characters: upper and lower case alphanumeric characters, forward-slash, underscore, hyphen, and period.For backward compatibility, if log_name begins with a forward-slash, such as /projects/..., then the log entry is ingested as usual but the forward-slash is removed. Listing the log entry will not show the leading slash and filtering for a log name with a leading slash will never return any results.",
+          "description": "Required. The resource name of the log to which this log entry belongs: \"projects/[PROJECT_ID]/logs/[LOG_ID]\" \"organizations/[ORGANIZATION_ID]/logs/[LOG_ID]\" \"billingAccounts/[BILLING_ACCOUNT_ID]/logs/[LOG_ID]\" \"folders/[FOLDER_ID]/logs/[LOG_ID]\" A project number may be used in place of PROJECT_ID. The project number is translated to its corresponding PROJECT_ID internally and the log_name field will contain PROJECT_ID in queries and exports.[LOG_ID] must be URL-encoded within log_name. Example: \"organizations/1234567890/logs/cloudresourcemanager.googleapis.com%2Factivity\".[LOG_ID] must be less than 512 characters long and can only include the following characters: upper and lower case alphanumeric characters, forward-slash, underscore, hyphen, and period.For backward compatibility, if log_name begins with a forward-slash, such as /projects/..., then the log entry is ingested as usual, but the forward-slash is removed. Listing the log entry will not show the leading slash and filtering for a log name with a leading slash will never return any results.",
           "type": "string"
         },
         "metadata": {
           "$ref": "MonitoredResourceMetadata",
-          "description": "Output only. Deprecated. Additional metadata about the monitored resource.Only k8s_container, k8s_pod, and k8s_node MonitoredResources have this field populated for GKE versions older than 1.12.6. For GKE versions 1.12.6 and above, the metadata field has been deprecated. The Kubernetes pod labels that used to be in metadata.userLabels will now be present in the labels field with a key prefix of k8s-pod/. The system labels that were present in the metadata.systemLabels field will no longer be available in the log entry.",
+          "description": "Output only. Deprecated. This field is not used by Logging. Any value written to it is cleared.",
           "readOnly": true
         },
         "operation": {
@@ -5706,6 +5706,10 @@
           "description": "Optional. A description of this metric, which is used in documentation. The maximum length of the description is 8000 characters.",
           "type": "string"
         },
+        "disabled": {
+          "description": "Optional. If set to True, then this metric is disabled and it does not generate any points.",
+          "type": "boolean"
+        },
         "filter": {
           "description": "Required. An advanced logs filter (https://cloud.google.com/logging/docs/view/advanced_filters) which is used to match log entries. Example: \"resource.type=gae_app AND severity>=ERROR\" The maximum length of the filter is 20000 characters.",
           "type": "string"
diff --git a/googleapiclient/discovery_cache/documents/manufacturers.v1.json b/googleapiclient/discovery_cache/documents/manufacturers.v1.json
index 55a1966..86ef976 100644
--- a/googleapiclient/discovery_cache/documents/manufacturers.v1.json
+++ b/googleapiclient/discovery_cache/documents/manufacturers.v1.json
@@ -287,7 +287,7 @@
       }
     }
   },
-  "revision": "20210429",
+  "revision": "20210505",
   "rootUrl": "https://manufacturers.googleapis.com/",
   "schemas": {
     "Attributes": {
diff --git a/googleapiclient/discovery_cache/documents/monitoring.v1.json b/googleapiclient/discovery_cache/documents/monitoring.v1.json
index 98de17a..fd4b4f0 100644
--- a/googleapiclient/discovery_cache/documents/monitoring.v1.json
+++ b/googleapiclient/discovery_cache/documents/monitoring.v1.json
@@ -285,7 +285,7 @@
       }
     }
   },
-  "revision": "20210501",
+  "revision": "20210509",
   "rootUrl": "https://monitoring.googleapis.com/",
   "schemas": {
     "Aggregation": {
diff --git a/googleapiclient/discovery_cache/documents/monitoring.v3.json b/googleapiclient/discovery_cache/documents/monitoring.v3.json
index 1f76b4f..b2c8cec 100644
--- a/googleapiclient/discovery_cache/documents/monitoring.v3.json
+++ b/googleapiclient/discovery_cache/documents/monitoring.v3.json
@@ -2541,7 +2541,7 @@
       }
     }
   },
-  "revision": "20210501",
+  "revision": "20210509",
   "rootUrl": "https://monitoring.googleapis.com/",
   "schemas": {
     "Aggregation": {
diff --git a/googleapiclient/discovery_cache/documents/mybusinessaccountmanagement.v1.json b/googleapiclient/discovery_cache/documents/mybusinessaccountmanagement.v1.json
index cf49f46..6461740 100644
--- a/googleapiclient/discovery_cache/documents/mybusinessaccountmanagement.v1.json
+++ b/googleapiclient/discovery_cache/documents/mybusinessaccountmanagement.v1.json
@@ -530,7 +530,7 @@
       }
     }
   },
-  "revision": "20210505",
+  "revision": "20210514",
   "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 f1596d7..e31601d 100644
--- a/googleapiclient/discovery_cache/documents/mybusinesslodging.v1.json
+++ b/googleapiclient/discovery_cache/documents/mybusinesslodging.v1.json
@@ -194,7 +194,7 @@
       }
     }
   },
-  "revision": "20210505",
+  "revision": "20210514",
   "rootUrl": "https://mybusinesslodging.googleapis.com/",
   "schemas": {
     "Accessibility": {
diff --git a/googleapiclient/discovery_cache/documents/mybusinessplaceactions.v1.json b/googleapiclient/discovery_cache/documents/mybusinessplaceactions.v1.json
index 1a97737..aa95bf5 100644
--- a/googleapiclient/discovery_cache/documents/mybusinessplaceactions.v1.json
+++ b/googleapiclient/discovery_cache/documents/mybusinessplaceactions.v1.json
@@ -281,7 +281,7 @@
       }
     }
   },
-  "revision": "20210505",
+  "revision": "20210514",
   "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 cd1927e..cdcd4f4 100644
--- a/googleapiclient/discovery_cache/documents/networkconnectivity.v1alpha1.json
+++ b/googleapiclient/discovery_cache/documents/networkconnectivity.v1alpha1.json
@@ -1029,7 +1029,7 @@
       }
     }
   },
-  "revision": "20210430",
+  "revision": "20210511",
   "rootUrl": "https://networkconnectivity.googleapis.com/",
   "schemas": {
     "AttributeValue": {
diff --git a/googleapiclient/discovery_cache/documents/networkmanagement.v1.json b/googleapiclient/discovery_cache/documents/networkmanagement.v1.json
index db1ae24..d3cdb7c 100644
--- a/googleapiclient/discovery_cache/documents/networkmanagement.v1.json
+++ b/googleapiclient/discovery_cache/documents/networkmanagement.v1.json
@@ -591,7 +591,7 @@
       }
     }
   },
-  "revision": "20210429",
+  "revision": "20210506",
   "rootUrl": "https://networkmanagement.googleapis.com/",
   "schemas": {
     "AbortInfo": {
diff --git a/googleapiclient/discovery_cache/documents/networkmanagement.v1beta1.json b/googleapiclient/discovery_cache/documents/networkmanagement.v1beta1.json
index 12380c1..f734c0c 100644
--- a/googleapiclient/discovery_cache/documents/networkmanagement.v1beta1.json
+++ b/googleapiclient/discovery_cache/documents/networkmanagement.v1beta1.json
@@ -591,7 +591,7 @@
       }
     }
   },
-  "revision": "20210429",
+  "revision": "20210506",
   "rootUrl": "https://networkmanagement.googleapis.com/",
   "schemas": {
     "AbortInfo": {
diff --git a/googleapiclient/discovery_cache/documents/notebooks.v1.json b/googleapiclient/discovery_cache/documents/notebooks.v1.json
index 05e5c7e..b311b89 100644
--- a/googleapiclient/discovery_cache/documents/notebooks.v1.json
+++ b/googleapiclient/discovery_cache/documents/notebooks.v1.json
@@ -1553,7 +1553,7 @@
       }
     }
   },
-  "revision": "20210422",
+  "revision": "20210506",
   "rootUrl": "https://notebooks.googleapis.com/",
   "schemas": {
     "AcceleratorConfig": {
diff --git a/googleapiclient/discovery_cache/documents/ondemandscanning.v1.json b/googleapiclient/discovery_cache/documents/ondemandscanning.v1.json
index 044d93c..f4a3b6b 100644
--- a/googleapiclient/discovery_cache/documents/ondemandscanning.v1.json
+++ b/googleapiclient/discovery_cache/documents/ondemandscanning.v1.json
@@ -339,7 +339,7 @@
       }
     }
   },
-  "revision": "20210501",
+  "revision": "20210508",
   "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 afe323a..377cda0 100644
--- a/googleapiclient/discovery_cache/documents/ondemandscanning.v1beta1.json
+++ b/googleapiclient/discovery_cache/documents/ondemandscanning.v1beta1.json
@@ -339,7 +339,7 @@
       }
     }
   },
-  "revision": "20210501",
+  "revision": "20210508",
   "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 39b0245..08accc7 100644
--- a/googleapiclient/discovery_cache/documents/orgpolicy.v2.json
+++ b/googleapiclient/discovery_cache/documents/orgpolicy.v2.json
@@ -751,7 +751,7 @@
       }
     }
   },
-  "revision": "20210506",
+  "revision": "20210513",
   "rootUrl": "https://orgpolicy.googleapis.com/",
   "schemas": {
     "GoogleCloudOrgpolicyV2Constraint": {
diff --git a/googleapiclient/discovery_cache/documents/oslogin.v1.json b/googleapiclient/discovery_cache/documents/oslogin.v1.json
index bad240b..ceea426 100644
--- a/googleapiclient/discovery_cache/documents/oslogin.v1.json
+++ b/googleapiclient/discovery_cache/documents/oslogin.v1.json
@@ -306,7 +306,7 @@
       }
     }
   },
-  "revision": "20210501",
+  "revision": "20210508",
   "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 534792b..114531f 100644
--- a/googleapiclient/discovery_cache/documents/oslogin.v1alpha.json
+++ b/googleapiclient/discovery_cache/documents/oslogin.v1alpha.json
@@ -374,7 +374,7 @@
       }
     }
   },
-  "revision": "20210501",
+  "revision": "20210508",
   "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 e5397d0..3a0bfce 100644
--- a/googleapiclient/discovery_cache/documents/oslogin.v1beta.json
+++ b/googleapiclient/discovery_cache/documents/oslogin.v1beta.json
@@ -344,7 +344,7 @@
       }
     }
   },
-  "revision": "20210501",
+  "revision": "20210508",
   "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 b3cdfa9..3e9e2f7 100644
--- a/googleapiclient/discovery_cache/documents/pagespeedonline.v5.json
+++ b/googleapiclient/discovery_cache/documents/pagespeedonline.v5.json
@@ -193,7 +193,7 @@
       }
     }
   },
-  "revision": "20210506",
+  "revision": "20210511",
   "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 c700e6b..1a6e582 100644
--- a/googleapiclient/discovery_cache/documents/paymentsresellersubscription.v1.json
+++ b/googleapiclient/discovery_cache/documents/paymentsresellersubscription.v1.json
@@ -366,7 +366,7 @@
       }
     }
   },
-  "revision": "20210507",
+  "revision": "20210514",
   "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 b7e6484..466c597 100644
--- a/googleapiclient/discovery_cache/documents/people.v1.json
+++ b/googleapiclient/discovery_cache/documents/people.v1.json
@@ -1154,7 +1154,7 @@
       }
     }
   },
-  "revision": "20210506",
+  "revision": "20210510",
   "rootUrl": "https://people.googleapis.com/",
   "schemas": {
     "Address": {
diff --git a/googleapiclient/discovery_cache/documents/playablelocations.v3.json b/googleapiclient/discovery_cache/documents/playablelocations.v3.json
index ee1b3bf..958a207 100644
--- a/googleapiclient/discovery_cache/documents/playablelocations.v3.json
+++ b/googleapiclient/discovery_cache/documents/playablelocations.v3.json
@@ -146,7 +146,7 @@
       }
     }
   },
-  "revision": "20210508",
+  "revision": "20210513",
   "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 07bf0b6..f4382b3 100644
--- a/googleapiclient/discovery_cache/documents/playcustomapp.v1.json
+++ b/googleapiclient/discovery_cache/documents/playcustomapp.v1.json
@@ -158,7 +158,7 @@
       }
     }
   },
-  "revision": "20210506",
+  "revision": "20210513",
   "rootUrl": "https://playcustomapp.googleapis.com/",
   "schemas": {
     "CustomApp": {
diff --git a/googleapiclient/discovery_cache/documents/policysimulator.v1.json b/googleapiclient/discovery_cache/documents/policysimulator.v1.json
index 5ec6c79..b033918 100644
--- a/googleapiclient/discovery_cache/documents/policysimulator.v1.json
+++ b/googleapiclient/discovery_cache/documents/policysimulator.v1.json
@@ -493,7 +493,7 @@
       }
     }
   },
-  "revision": "20210501",
+  "revision": "20210508",
   "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 d7161a4..61ddb91 100644
--- a/googleapiclient/discovery_cache/documents/policysimulator.v1beta1.json
+++ b/googleapiclient/discovery_cache/documents/policysimulator.v1beta1.json
@@ -493,7 +493,7 @@
       }
     }
   },
-  "revision": "20210501",
+  "revision": "20210508",
   "rootUrl": "https://policysimulator.googleapis.com/",
   "schemas": {
     "GoogleCloudPolicysimulatorV1Replay": {
diff --git a/googleapiclient/discovery_cache/documents/privateca.v1beta1.json b/googleapiclient/discovery_cache/documents/privateca.v1beta1.json
index 9532fb3..c4cded5 100644
--- a/googleapiclient/discovery_cache/documents/privateca.v1beta1.json
+++ b/googleapiclient/discovery_cache/documents/privateca.v1beta1.json
@@ -1254,7 +1254,7 @@
       }
     }
   },
-  "revision": "20210429",
+  "revision": "20210506",
   "rootUrl": "https://privateca.googleapis.com/",
   "schemas": {
     "AccessUrls": {
@@ -2390,8 +2390,21 @@
       "id": "ReconciliationOperationMetadata",
       "properties": {
         "deleteResource": {
-          "description": "If set to TRUE, the resource has to be deleted. When using this bit, the CLH should fail the operation.",
+          "description": "DEPRECATED. Use exclusive_action instead.",
           "type": "boolean"
+        },
+        "exclusiveAction": {
+          "enum": [
+            "UNKNOWN_REPAIR_ACTION",
+            "DELETE",
+            "RETRY"
+          ],
+          "enumDescriptions": [
+            "",
+            "The resource has to be deleted. When using this bit, the CLH should fail the operation.",
+            "This resource could not be repaired but the repair should be tried again at a later time. This can happen if there is a dependency that needs to be resolved first- e.g. if a parent resource must be repaired before a child resource."
+          ],
+          "type": "string"
         }
       },
       "type": "object"
diff --git a/googleapiclient/discovery_cache/documents/prod_tt_sasportal.v1alpha1.json b/googleapiclient/discovery_cache/documents/prod_tt_sasportal.v1alpha1.json
index 3da593a..3850fbb 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": "20210506",
+  "revision": "20210513",
   "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 1916779..7e6de39 100644
--- a/googleapiclient/discovery_cache/documents/pubsub.v1.json
+++ b/googleapiclient/discovery_cache/documents/pubsub.v1.json
@@ -1424,7 +1424,7 @@
       }
     }
   },
-  "revision": "20210427",
+  "revision": "20210504",
   "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 466f5d8..0e52236 100644
--- a/googleapiclient/discovery_cache/documents/pubsub.v1beta1a.json
+++ b/googleapiclient/discovery_cache/documents/pubsub.v1beta1a.json
@@ -457,7 +457,7 @@
       }
     }
   },
-  "revision": "20210427",
+  "revision": "20210504",
   "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 da737d3..469d64a 100644
--- a/googleapiclient/discovery_cache/documents/pubsub.v1beta2.json
+++ b/googleapiclient/discovery_cache/documents/pubsub.v1beta2.json
@@ -724,7 +724,7 @@
       }
     }
   },
-  "revision": "20210427",
+  "revision": "20210504",
   "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 cc919ed..14a5a52 100644
--- a/googleapiclient/discovery_cache/documents/pubsublite.v1.json
+++ b/googleapiclient/discovery_cache/documents/pubsublite.v1.json
@@ -652,6 +652,34 @@
                       "scopes": [
                         "https://www.googleapis.com/auth/cloud-platform"
                       ]
+                    },
+                    "computeTimeCursor": {
+                      "description": "Compute the corresponding cursor for a publish or event time in a topic partition.",
+                      "flatPath": "v1/topicStats/projects/{projectsId}/locations/{locationsId}/topics/{topicsId}:computeTimeCursor",
+                      "httpMethod": "POST",
+                      "id": "pubsublite.topicStats.projects.locations.topics.computeTimeCursor",
+                      "parameterOrder": [
+                        "topic"
+                      ],
+                      "parameters": {
+                        "topic": {
+                          "description": "Required. The topic for which we should compute the cursor.",
+                          "location": "path",
+                          "pattern": "^projects/[^/]+/locations/[^/]+/topics/[^/]+$",
+                          "required": true,
+                          "type": "string"
+                        }
+                      },
+                      "path": "v1/topicStats/{+topic}:computeTimeCursor",
+                      "request": {
+                        "$ref": "ComputeTimeCursorRequest"
+                      },
+                      "response": {
+                        "$ref": "ComputeTimeCursorResponse"
+                      },
+                      "scopes": [
+                        "https://www.googleapis.com/auth/cloud-platform"
+                      ]
                     }
                   }
                 }
@@ -662,7 +690,7 @@
       }
     }
   },
-  "revision": "20210504",
+  "revision": "20210513",
   "rootUrl": "https://pubsublite.googleapis.com/",
   "schemas": {
     "Capacity": {
@@ -774,6 +802,33 @@
       },
       "type": "object"
     },
+    "ComputeTimeCursorRequest": {
+      "description": "Compute the corresponding cursor for a publish or event time in a topic partition.",
+      "id": "ComputeTimeCursorRequest",
+      "properties": {
+        "partition": {
+          "description": "Required. The partition for which we should compute the cursor.",
+          "format": "int64",
+          "type": "string"
+        },
+        "target": {
+          "$ref": "TimeTarget",
+          "description": "Required. The target publish or event time. Specifying a future time will return an unset cursor."
+        }
+      },
+      "type": "object"
+    },
+    "ComputeTimeCursorResponse": {
+      "description": "Response containing the cursor corresponding to a publish or event time in a topic partition.",
+      "id": "ComputeTimeCursorResponse",
+      "properties": {
+        "cursor": {
+          "$ref": "Cursor",
+          "description": "If present, the cursor references the first message with time greater than or equal to the specified target time. If such a message cannot be found, the cursor will be unset (i.e. `cursor` is not present)."
+        }
+      },
+      "type": "object"
+    },
     "Cursor": {
       "description": "A cursor that describes the position of a message within a topic partition.",
       "id": "Cursor",
@@ -958,6 +1013,23 @@
       },
       "type": "object"
     },
+    "TimeTarget": {
+      "description": "A target publish or event time. Can be used for seeking to or retrieving the corresponding cursor.",
+      "id": "TimeTarget",
+      "properties": {
+        "eventTime": {
+          "description": "Request the cursor of the first message with event time greater than or equal to `event_time`. If messages are missing an event time, the publish time is used as a fallback. As event times are user supplied, subsequent messages may have event times less than `event_time` and should be filtered by the client, if necessary.",
+          "format": "google-datetime",
+          "type": "string"
+        },
+        "publishTime": {
+          "description": "Request the cursor of the first message with publish time greater than or equal to `publish_time`. All messages thereafter are guaranteed to have publish times >= `publish_time`.",
+          "format": "google-datetime",
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
     "Topic": {
       "description": "Metadata about a topic resource.",
       "id": "Topic",
diff --git a/googleapiclient/discovery_cache/documents/realtimebidding.v1.json b/googleapiclient/discovery_cache/documents/realtimebidding.v1.json
index 02d7e59..f68ca10 100644
--- a/googleapiclient/discovery_cache/documents/realtimebidding.v1.json
+++ b/googleapiclient/discovery_cache/documents/realtimebidding.v1.json
@@ -1140,7 +1140,7 @@
       }
     }
   },
-  "revision": "20210506",
+  "revision": "20210513",
   "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 93230b9..7fb6385 100644
--- a/googleapiclient/discovery_cache/documents/realtimebidding.v1alpha.json
+++ b/googleapiclient/discovery_cache/documents/realtimebidding.v1alpha.json
@@ -178,7 +178,7 @@
       }
     }
   },
-  "revision": "20210506",
+  "revision": "20210513",
   "rootUrl": "https://realtimebidding.googleapis.com/",
   "schemas": {
     "BiddingFunction": {
diff --git a/googleapiclient/discovery_cache/documents/recaptchaenterprise.v1.json b/googleapiclient/discovery_cache/documents/recaptchaenterprise.v1.json
new file mode 100644
index 0000000..e5b6043
--- /dev/null
+++ b/googleapiclient/discovery_cache/documents/recaptchaenterprise.v1.json
@@ -0,0 +1,841 @@
+{
+  "auth": {
+    "oauth2": {
+      "scopes": {
+        "https://www.googleapis.com/auth/cloud-platform": {
+          "description": "See, edit, configure, and delete your Google Cloud Platform data"
+        }
+      }
+    }
+  },
+  "basePath": "",
+  "baseUrl": "https://recaptchaenterprise.googleapis.com/",
+  "batchPath": "batch",
+  "canonicalName": "Recaptcha Enterprise",
+  "description": "",
+  "discoveryVersion": "v1",
+  "documentationLink": "https://cloud.google.com/recaptcha-enterprise/",
+  "fullyEncodeReservedExpansion": true,
+  "icons": {
+    "x16": "http://www.google.com/images/icons/product/search-16.gif",
+    "x32": "http://www.google.com/images/icons/product/search-32.gif"
+  },
+  "id": "recaptchaenterprise:v1",
+  "kind": "discovery#restDescription",
+  "mtlsRootUrl": "https://recaptchaenterprise.mtls.googleapis.com/",
+  "name": "recaptchaenterprise",
+  "ownerDomain": "google.com",
+  "ownerName": "Google",
+  "parameters": {
+    "$.xgafv": {
+      "description": "V1 error format.",
+      "enum": [
+        "1",
+        "2"
+      ],
+      "enumDescriptions": [
+        "v1 error format",
+        "v2 error format"
+      ],
+      "location": "query",
+      "type": "string"
+    },
+    "access_token": {
+      "description": "OAuth access token.",
+      "location": "query",
+      "type": "string"
+    },
+    "alt": {
+      "default": "json",
+      "description": "Data format for response.",
+      "enum": [
+        "json",
+        "media",
+        "proto"
+      ],
+      "enumDescriptions": [
+        "Responses with Content-Type of application/json",
+        "Media download with context-dependent Content-Type",
+        "Responses with Content-Type of application/x-protobuf"
+      ],
+      "location": "query",
+      "type": "string"
+    },
+    "callback": {
+      "description": "JSONP",
+      "location": "query",
+      "type": "string"
+    },
+    "fields": {
+      "description": "Selector specifying which fields to include in a partial response.",
+      "location": "query",
+      "type": "string"
+    },
+    "key": {
+      "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.",
+      "location": "query",
+      "type": "string"
+    },
+    "oauth_token": {
+      "description": "OAuth 2.0 token for the current user.",
+      "location": "query",
+      "type": "string"
+    },
+    "prettyPrint": {
+      "default": "true",
+      "description": "Returns response with indentations and line breaks.",
+      "location": "query",
+      "type": "boolean"
+    },
+    "quotaUser": {
+      "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.",
+      "location": "query",
+      "type": "string"
+    },
+    "uploadType": {
+      "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").",
+      "location": "query",
+      "type": "string"
+    },
+    "upload_protocol": {
+      "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").",
+      "location": "query",
+      "type": "string"
+    }
+  },
+  "protocol": "rest",
+  "resources": {
+    "projects": {
+      "resources": {
+        "assessments": {
+          "methods": {
+            "annotate": {
+              "description": "Annotates a previously created Assessment to provide additional information on whether the event turned out to be authentic or fraudulent.",
+              "flatPath": "v1/projects/{projectsId}/assessments/{assessmentsId}:annotate",
+              "httpMethod": "POST",
+              "id": "recaptchaenterprise.projects.assessments.annotate",
+              "parameterOrder": [
+                "name"
+              ],
+              "parameters": {
+                "name": {
+                  "description": "Required. The resource name of the Assessment, in the format \"projects/{project}/assessments/{assessment}\".",
+                  "location": "path",
+                  "pattern": "^projects/[^/]+/assessments/[^/]+$",
+                  "required": true,
+                  "type": "string"
+                }
+              },
+              "path": "v1/{+name}:annotate",
+              "request": {
+                "$ref": "GoogleCloudRecaptchaenterpriseV1AnnotateAssessmentRequest"
+              },
+              "response": {
+                "$ref": "GoogleCloudRecaptchaenterpriseV1AnnotateAssessmentResponse"
+              },
+              "scopes": [
+                "https://www.googleapis.com/auth/cloud-platform"
+              ]
+            },
+            "create": {
+              "description": "Creates an Assessment of the likelihood an event is legitimate.",
+              "flatPath": "v1/projects/{projectsId}/assessments",
+              "httpMethod": "POST",
+              "id": "recaptchaenterprise.projects.assessments.create",
+              "parameterOrder": [
+                "parent"
+              ],
+              "parameters": {
+                "parent": {
+                  "description": "Required. The name of the project in which the assessment will be created, in the format \"projects/{project}\".",
+                  "location": "path",
+                  "pattern": "^projects/[^/]+$",
+                  "required": true,
+                  "type": "string"
+                }
+              },
+              "path": "v1/{+parent}/assessments",
+              "request": {
+                "$ref": "GoogleCloudRecaptchaenterpriseV1Assessment"
+              },
+              "response": {
+                "$ref": "GoogleCloudRecaptchaenterpriseV1Assessment"
+              },
+              "scopes": [
+                "https://www.googleapis.com/auth/cloud-platform"
+              ]
+            }
+          }
+        },
+        "keys": {
+          "methods": {
+            "create": {
+              "description": "Creates a new reCAPTCHA Enterprise key.",
+              "flatPath": "v1/projects/{projectsId}/keys",
+              "httpMethod": "POST",
+              "id": "recaptchaenterprise.projects.keys.create",
+              "parameterOrder": [
+                "parent"
+              ],
+              "parameters": {
+                "parent": {
+                  "description": "Required. The name of the project in which the key will be created, in the format \"projects/{project}\".",
+                  "location": "path",
+                  "pattern": "^projects/[^/]+$",
+                  "required": true,
+                  "type": "string"
+                }
+              },
+              "path": "v1/{+parent}/keys",
+              "request": {
+                "$ref": "GoogleCloudRecaptchaenterpriseV1Key"
+              },
+              "response": {
+                "$ref": "GoogleCloudRecaptchaenterpriseV1Key"
+              },
+              "scopes": [
+                "https://www.googleapis.com/auth/cloud-platform"
+              ]
+            },
+            "delete": {
+              "description": "Deletes the specified key.",
+              "flatPath": "v1/projects/{projectsId}/keys/{keysId}",
+              "httpMethod": "DELETE",
+              "id": "recaptchaenterprise.projects.keys.delete",
+              "parameterOrder": [
+                "name"
+              ],
+              "parameters": {
+                "name": {
+                  "description": "Required. The name of the key to be deleted, in the format \"projects/{project}/keys/{key}\".",
+                  "location": "path",
+                  "pattern": "^projects/[^/]+/keys/[^/]+$",
+                  "required": true,
+                  "type": "string"
+                }
+              },
+              "path": "v1/{+name}",
+              "response": {
+                "$ref": "GoogleProtobufEmpty"
+              },
+              "scopes": [
+                "https://www.googleapis.com/auth/cloud-platform"
+              ]
+            },
+            "get": {
+              "description": "Returns the specified key.",
+              "flatPath": "v1/projects/{projectsId}/keys/{keysId}",
+              "httpMethod": "GET",
+              "id": "recaptchaenterprise.projects.keys.get",
+              "parameterOrder": [
+                "name"
+              ],
+              "parameters": {
+                "name": {
+                  "description": "Required. The name of the requested key, in the format \"projects/{project}/keys/{key}\".",
+                  "location": "path",
+                  "pattern": "^projects/[^/]+/keys/[^/]+$",
+                  "required": true,
+                  "type": "string"
+                }
+              },
+              "path": "v1/{+name}",
+              "response": {
+                "$ref": "GoogleCloudRecaptchaenterpriseV1Key"
+              },
+              "scopes": [
+                "https://www.googleapis.com/auth/cloud-platform"
+              ]
+            },
+            "getMetrics": {
+              "description": "Get some aggregated metrics for a Key. This data can be used to build dashboards.",
+              "flatPath": "v1/projects/{projectsId}/keys/{keysId}/metrics",
+              "httpMethod": "GET",
+              "id": "recaptchaenterprise.projects.keys.getMetrics",
+              "parameterOrder": [
+                "name"
+              ],
+              "parameters": {
+                "name": {
+                  "description": "Required. The name of the requested metrics, in the format \"projects/{project}/keys/{key}/metrics\".",
+                  "location": "path",
+                  "pattern": "^projects/[^/]+/keys/[^/]+/metrics$",
+                  "required": true,
+                  "type": "string"
+                }
+              },
+              "path": "v1/{+name}",
+              "response": {
+                "$ref": "GoogleCloudRecaptchaenterpriseV1Metrics"
+              },
+              "scopes": [
+                "https://www.googleapis.com/auth/cloud-platform"
+              ]
+            },
+            "list": {
+              "description": "Returns the list of all keys that belong to a project.",
+              "flatPath": "v1/projects/{projectsId}/keys",
+              "httpMethod": "GET",
+              "id": "recaptchaenterprise.projects.keys.list",
+              "parameterOrder": [
+                "parent"
+              ],
+              "parameters": {
+                "pageSize": {
+                  "description": "Optional. The maximum number of keys to return. Default is 10. Max limit is 1000.",
+                  "format": "int32",
+                  "location": "query",
+                  "type": "integer"
+                },
+                "pageToken": {
+                  "description": "Optional. The next_page_token value returned from a previous. ListKeysRequest, if any.",
+                  "location": "query",
+                  "type": "string"
+                },
+                "parent": {
+                  "description": "Required. The name of the project that contains the keys that will be listed, in the format \"projects/{project}\".",
+                  "location": "path",
+                  "pattern": "^projects/[^/]+$",
+                  "required": true,
+                  "type": "string"
+                }
+              },
+              "path": "v1/{+parent}/keys",
+              "response": {
+                "$ref": "GoogleCloudRecaptchaenterpriseV1ListKeysResponse"
+              },
+              "scopes": [
+                "https://www.googleapis.com/auth/cloud-platform"
+              ]
+            },
+            "migrate": {
+              "description": "Migrates an existing key from reCAPTCHA to reCAPTCHA Enterprise. Once a key is migrated, it can be used from either product. SiteVerify requests will be billed as CreateAssessment calls.",
+              "flatPath": "v1/projects/{projectsId}/keys/{keysId}:migrate",
+              "httpMethod": "POST",
+              "id": "recaptchaenterprise.projects.keys.migrate",
+              "parameterOrder": [
+                "name"
+              ],
+              "parameters": {
+                "name": {
+                  "description": "Required. The name of the key to be migrated, in the format \"projects/{project}/keys/{key}\".",
+                  "location": "path",
+                  "pattern": "^projects/[^/]+/keys/[^/]+$",
+                  "required": true,
+                  "type": "string"
+                }
+              },
+              "path": "v1/{+name}:migrate",
+              "request": {
+                "$ref": "GoogleCloudRecaptchaenterpriseV1MigrateKeyRequest"
+              },
+              "response": {
+                "$ref": "GoogleCloudRecaptchaenterpriseV1Key"
+              },
+              "scopes": [
+                "https://www.googleapis.com/auth/cloud-platform"
+              ]
+            },
+            "patch": {
+              "description": "Updates the specified key.",
+              "flatPath": "v1/projects/{projectsId}/keys/{keysId}",
+              "httpMethod": "PATCH",
+              "id": "recaptchaenterprise.projects.keys.patch",
+              "parameterOrder": [
+                "name"
+              ],
+              "parameters": {
+                "name": {
+                  "description": "The resource name for the Key in the format \"projects/{project}/keys/{key}\".",
+                  "location": "path",
+                  "pattern": "^projects/[^/]+/keys/[^/]+$",
+                  "required": true,
+                  "type": "string"
+                },
+                "updateMask": {
+                  "description": "Optional. The mask to control which field of the key get updated. If the mask is not present, all fields will be updated.",
+                  "format": "google-fieldmask",
+                  "location": "query",
+                  "type": "string"
+                }
+              },
+              "path": "v1/{+name}",
+              "request": {
+                "$ref": "GoogleCloudRecaptchaenterpriseV1Key"
+              },
+              "response": {
+                "$ref": "GoogleCloudRecaptchaenterpriseV1Key"
+              },
+              "scopes": [
+                "https://www.googleapis.com/auth/cloud-platform"
+              ]
+            }
+          }
+        }
+      }
+    }
+  },
+  "revision": "20210508",
+  "rootUrl": "https://recaptchaenterprise.googleapis.com/",
+  "schemas": {
+    "GoogleCloudRecaptchaenterpriseV1AndroidKeySettings": {
+      "description": "Settings specific to keys that can be used by Android apps.",
+      "id": "GoogleCloudRecaptchaenterpriseV1AndroidKeySettings",
+      "properties": {
+        "allowedPackageNames": {
+          "description": "Android package names of apps allowed to use the key. Example: 'com.companyname.appname'",
+          "items": {
+            "type": "string"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "GoogleCloudRecaptchaenterpriseV1AnnotateAssessmentRequest": {
+      "description": "The request message to annotate an Assessment.",
+      "id": "GoogleCloudRecaptchaenterpriseV1AnnotateAssessmentRequest",
+      "properties": {
+        "annotation": {
+          "description": "Optional. The annotation that will be assigned to the Event. This field can be left empty to provide reasons that apply to an event without concluding whether the event is legitimate or fraudulent.",
+          "enum": [
+            "ANNOTATION_UNSPECIFIED",
+            "LEGITIMATE",
+            "FRAUDULENT",
+            "PASSWORD_CORRECT",
+            "PASSWORD_INCORRECT"
+          ],
+          "enumDescriptions": [
+            "Default unspecified type.",
+            "Provides information that the event turned out to be legitimate.",
+            "Provides information that the event turned out to be fraudulent.",
+            "Provides information that the event was related to a login event in which the user typed the correct password. Deprecated, prefer indicating CORRECT_PASSWORD through the reasons field instead.",
+            "Provides information that the event was related to a login event in which the user typed the incorrect password. Deprecated, prefer indicating INCORRECT_PASSWORD through the reasons field instead."
+          ],
+          "type": "string"
+        },
+        "reasons": {
+          "description": "Optional. Optional reasons for the annotation that will be assigned to the Event.",
+          "items": {
+            "enum": [
+              "REASON_UNSPECIFIED",
+              "CHARGEBACK",
+              "PAYMENT_HEURISTICS",
+              "PASSED_TWO_FACTOR",
+              "FAILED_TWO_FACTOR",
+              "CORRECT_PASSWORD",
+              "INCORRECT_PASSWORD"
+            ],
+            "enumDescriptions": [
+              "Default unspecified reason.",
+              "Indicates a chargeback for fraud was issued for the transaction associated with the assessment.",
+              "Indicates the transaction associated with the assessment is suspected of being fraudulent based on the payment method, billing details, shipping address or other transaction information.",
+              "Indicates that the user passed a 2FA challenge.",
+              "Indicates that the user failed a 2FA challenge.",
+              "Indicates the user provided the correct password.",
+              "Indicates the user provided an incorrect password."
+            ],
+            "type": "string"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "GoogleCloudRecaptchaenterpriseV1AnnotateAssessmentResponse": {
+      "description": "Empty response for AnnotateAssessment.",
+      "id": "GoogleCloudRecaptchaenterpriseV1AnnotateAssessmentResponse",
+      "properties": {},
+      "type": "object"
+    },
+    "GoogleCloudRecaptchaenterpriseV1Assessment": {
+      "description": "A recaptcha assessment resource.",
+      "id": "GoogleCloudRecaptchaenterpriseV1Assessment",
+      "properties": {
+        "event": {
+          "$ref": "GoogleCloudRecaptchaenterpriseV1Event",
+          "description": "The event being assessed."
+        },
+        "name": {
+          "description": "Output only. The resource name for the Assessment in the format \"projects/{project}/assessments/{assessment}\".",
+          "readOnly": true,
+          "type": "string"
+        },
+        "riskAnalysis": {
+          "$ref": "GoogleCloudRecaptchaenterpriseV1RiskAnalysis",
+          "description": "Output only. The risk analysis result for the event being assessed.",
+          "readOnly": true
+        },
+        "tokenProperties": {
+          "$ref": "GoogleCloudRecaptchaenterpriseV1TokenProperties",
+          "description": "Output only. Properties of the provided event token.",
+          "readOnly": true
+        }
+      },
+      "type": "object"
+    },
+    "GoogleCloudRecaptchaenterpriseV1ChallengeMetrics": {
+      "description": "Metrics related to challenges.",
+      "id": "GoogleCloudRecaptchaenterpriseV1ChallengeMetrics",
+      "properties": {
+        "failedCount": {
+          "description": "Count of submitted challenge solutions that were incorrect or otherwise deemed suspicious such that a subsequent challenge was triggered.",
+          "format": "int64",
+          "type": "string"
+        },
+        "nocaptchaCount": {
+          "description": "Count of nocaptchas (successful verification without a challenge) issued.",
+          "format": "int64",
+          "type": "string"
+        },
+        "pageloadCount": {
+          "description": "Count of reCAPTCHA checkboxes or badges rendered. This is mostly equivalent to a count of pageloads for pages that include reCAPTCHA.",
+          "format": "int64",
+          "type": "string"
+        },
+        "passedCount": {
+          "description": "Count of nocaptchas (successful verification without a challenge) plus submitted challenge solutions that were correct and resulted in verification.",
+          "format": "int64",
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
+    "GoogleCloudRecaptchaenterpriseV1Event": {
+      "id": "GoogleCloudRecaptchaenterpriseV1Event",
+      "properties": {
+        "expectedAction": {
+          "description": "Optional. The expected action for this type of event. This should be the same action provided at token generation time on client-side platforms already integrated with recaptcha enterprise.",
+          "type": "string"
+        },
+        "siteKey": {
+          "description": "Optional. The site key that was used to invoke reCAPTCHA on your site and generate the token.",
+          "type": "string"
+        },
+        "token": {
+          "description": "Optional. The user response token provided by the reCAPTCHA client-side integration on your site.",
+          "type": "string"
+        },
+        "userAgent": {
+          "description": "Optional. The user agent present in the request from the user's device related to this event.",
+          "type": "string"
+        },
+        "userIpAddress": {
+          "description": "Optional. The IP address in the request from the user's device related to this event.",
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
+    "GoogleCloudRecaptchaenterpriseV1IOSKeySettings": {
+      "description": "Settings specific to keys that can be used by iOS apps.",
+      "id": "GoogleCloudRecaptchaenterpriseV1IOSKeySettings",
+      "properties": {
+        "allowedBundleIds": {
+          "description": "iOS bundle ids of apps allowed to use the key. Example: 'com.companyname.productname.appname'",
+          "items": {
+            "type": "string"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
+    "GoogleCloudRecaptchaenterpriseV1Key": {
+      "description": "A key used to identify and configure applications (web and/or mobile) that use reCAPTCHA Enterprise.",
+      "id": "GoogleCloudRecaptchaenterpriseV1Key",
+      "properties": {
+        "androidSettings": {
+          "$ref": "GoogleCloudRecaptchaenterpriseV1AndroidKeySettings",
+          "description": "Settings for keys that can be used by Android apps."
+        },
+        "createTime": {
+          "description": "The timestamp corresponding to the creation of this Key.",
+          "format": "google-datetime",
+          "type": "string"
+        },
+        "displayName": {
+          "description": "Human-readable display name of this key. Modifiable by user.",
+          "type": "string"
+        },
+        "iosSettings": {
+          "$ref": "GoogleCloudRecaptchaenterpriseV1IOSKeySettings",
+          "description": "Settings for keys that can be used by iOS apps."
+        },
+        "labels": {
+          "additionalProperties": {
+            "type": "string"
+          },
+          "description": "See Creating and managing labels.",
+          "type": "object"
+        },
+        "name": {
+          "description": "The resource name for the Key in the format \"projects/{project}/keys/{key}\".",
+          "type": "string"
+        },
+        "testingOptions": {
+          "$ref": "GoogleCloudRecaptchaenterpriseV1TestingOptions",
+          "description": "Options for user acceptance testing."
+        },
+        "webSettings": {
+          "$ref": "GoogleCloudRecaptchaenterpriseV1WebKeySettings",
+          "description": "Settings for keys that can be used by websites."
+        }
+      },
+      "type": "object"
+    },
+    "GoogleCloudRecaptchaenterpriseV1ListKeysResponse": {
+      "description": "Response to request to list keys in a project.",
+      "id": "GoogleCloudRecaptchaenterpriseV1ListKeysResponse",
+      "properties": {
+        "keys": {
+          "description": "Key details.",
+          "items": {
+            "$ref": "GoogleCloudRecaptchaenterpriseV1Key"
+          },
+          "type": "array"
+        },
+        "nextPageToken": {
+          "description": "Token to retrieve the next page of results. It is set to empty if no keys remain in results.",
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
+    "GoogleCloudRecaptchaenterpriseV1Metrics": {
+      "description": "Metrics for a single Key.",
+      "id": "GoogleCloudRecaptchaenterpriseV1Metrics",
+      "properties": {
+        "challengeMetrics": {
+          "description": "Metrics will be continuous and in order by dates, and in the granularity of day. Only challenge-based keys (CHECKBOX, INVISIBLE), will have challenge-based data.",
+          "items": {
+            "$ref": "GoogleCloudRecaptchaenterpriseV1ChallengeMetrics"
+          },
+          "type": "array"
+        },
+        "scoreMetrics": {
+          "description": "Metrics will be continuous and in order by dates, and in the granularity of day. All Key types should have score-based data.",
+          "items": {
+            "$ref": "GoogleCloudRecaptchaenterpriseV1ScoreMetrics"
+          },
+          "type": "array"
+        },
+        "startTime": {
+          "description": "Inclusive start time aligned to a day (UTC).",
+          "format": "google-datetime",
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
+    "GoogleCloudRecaptchaenterpriseV1MigrateKeyRequest": {
+      "description": "The migrate key request message.",
+      "id": "GoogleCloudRecaptchaenterpriseV1MigrateKeyRequest",
+      "properties": {},
+      "type": "object"
+    },
+    "GoogleCloudRecaptchaenterpriseV1RiskAnalysis": {
+      "description": "Risk analysis result for an event.",
+      "id": "GoogleCloudRecaptchaenterpriseV1RiskAnalysis",
+      "properties": {
+        "reasons": {
+          "description": "Reasons contributing to the risk analysis verdict.",
+          "items": {
+            "enum": [
+              "CLASSIFICATION_REASON_UNSPECIFIED",
+              "AUTOMATION",
+              "UNEXPECTED_ENVIRONMENT",
+              "TOO_MUCH_TRAFFIC",
+              "UNEXPECTED_USAGE_PATTERNS",
+              "LOW_CONFIDENCE_SCORE"
+            ],
+            "enumDescriptions": [
+              "Default unspecified type.",
+              "Interactions matched the behavior of an automated agent.",
+              "The event originated from an illegitimate environment.",
+              "Traffic volume from the event source is higher than normal.",
+              "Interactions with the site were significantly different than expected patterns.",
+              "Too little traffic has been received from this site thus far to generate quality risk analysis."
+            ],
+            "type": "string"
+          },
+          "type": "array"
+        },
+        "score": {
+          "description": "Legitimate event score from 0.0 to 1.0. (1.0 means very likely legitimate traffic while 0.0 means very likely non-legitimate traffic).",
+          "format": "float",
+          "type": "number"
+        }
+      },
+      "type": "object"
+    },
+    "GoogleCloudRecaptchaenterpriseV1ScoreDistribution": {
+      "description": "Score distribution.",
+      "id": "GoogleCloudRecaptchaenterpriseV1ScoreDistribution",
+      "properties": {
+        "scoreBuckets": {
+          "additionalProperties": {
+            "format": "int64",
+            "type": "string"
+          },
+          "description": "Map key is score value multiplied by 100. The scores are discrete values between [0, 1]. The maximum number of buckets is on order of a few dozen, but typically much lower (ie. 10).",
+          "type": "object"
+        }
+      },
+      "type": "object"
+    },
+    "GoogleCloudRecaptchaenterpriseV1ScoreMetrics": {
+      "description": "Metrics related to scoring.",
+      "id": "GoogleCloudRecaptchaenterpriseV1ScoreMetrics",
+      "properties": {
+        "actionMetrics": {
+          "additionalProperties": {
+            "$ref": "GoogleCloudRecaptchaenterpriseV1ScoreDistribution"
+          },
+          "description": "Action-based metrics. The map key is the action name which specified by the site owners at time of the \"execute\" client-side call. Populated only for SCORE keys.",
+          "type": "object"
+        },
+        "overallMetrics": {
+          "$ref": "GoogleCloudRecaptchaenterpriseV1ScoreDistribution",
+          "description": "Aggregated score metrics for all traffic."
+        }
+      },
+      "type": "object"
+    },
+    "GoogleCloudRecaptchaenterpriseV1TestingOptions": {
+      "description": "Options for user acceptance testing.",
+      "id": "GoogleCloudRecaptchaenterpriseV1TestingOptions",
+      "properties": {
+        "testingChallenge": {
+          "description": "For challenge-based keys only (CHECKBOX, INVISIBLE), all challenge requests for this site will return nocaptcha if NOCAPTCHA, or an unsolvable challenge if CHALLENGE.",
+          "enum": [
+            "TESTING_CHALLENGE_UNSPECIFIED",
+            "NOCAPTCHA",
+            "CHALLENGE"
+          ],
+          "enumDescriptions": [
+            "Perform the normal risk analysis and return either nocaptcha or a challenge depending on risk and trust factors.",
+            "Challenge requests for this key will always return a nocaptcha, which does not require a solution.",
+            "Challenge requests for this key will always return an unsolvable challenge."
+          ],
+          "type": "string"
+        },
+        "testingScore": {
+          "description": "All assessments for this Key will return this score. Must be between 0 (likely not legitimate) and 1 (likely legitimate) inclusive.",
+          "format": "float",
+          "type": "number"
+        }
+      },
+      "type": "object"
+    },
+    "GoogleCloudRecaptchaenterpriseV1TokenProperties": {
+      "id": "GoogleCloudRecaptchaenterpriseV1TokenProperties",
+      "properties": {
+        "action": {
+          "description": "Action name provided at token generation.",
+          "type": "string"
+        },
+        "createTime": {
+          "description": "The timestamp corresponding to the generation of the token.",
+          "format": "google-datetime",
+          "type": "string"
+        },
+        "hostname": {
+          "description": "The hostname of the page on which the token was generated.",
+          "type": "string"
+        },
+        "invalidReason": {
+          "description": "Reason associated with the response when valid = false.",
+          "enum": [
+            "INVALID_REASON_UNSPECIFIED",
+            "UNKNOWN_INVALID_REASON",
+            "MALFORMED",
+            "EXPIRED",
+            "DUPE",
+            "MISSING",
+            "BROWSER_ERROR"
+          ],
+          "enumDescriptions": [
+            "Default unspecified type.",
+            "If the failure reason was not accounted for.",
+            "The provided user verification token was malformed.",
+            "The user verification token had expired.",
+            "The user verification had already been seen.",
+            "The user verification token was not present.",
+            "A retriable error (such as network failure) occurred on the browser. Could easily be simulated by an attacker."
+          ],
+          "type": "string"
+        },
+        "valid": {
+          "description": "Whether the provided user response token is valid. When valid = false, the reason could be specified in invalid_reason or it could also be due to a user failing to solve a challenge or a sitekey mismatch (i.e the sitekey used to generate the token was different than the one specified in the assessment).",
+          "type": "boolean"
+        }
+      },
+      "type": "object"
+    },
+    "GoogleCloudRecaptchaenterpriseV1WebKeySettings": {
+      "description": "Settings specific to keys that can be used by websites.",
+      "id": "GoogleCloudRecaptchaenterpriseV1WebKeySettings",
+      "properties": {
+        "allowAllDomains": {
+          "description": "If set to true, it means allowed_domains will not be enforced.",
+          "type": "boolean"
+        },
+        "allowAmpTraffic": {
+          "description": "Required. Whether this key can be used on AMP (Accelerated Mobile Pages) websites. This can only be set for the SCORE integration type.",
+          "type": "boolean"
+        },
+        "allowedDomains": {
+          "description": "Domains or subdomains of websites allowed to use the key. All subdomains of an allowed domain are automatically allowed. A valid domain requires a host and must not include any path, port, query or fragment. Examples: 'example.com' or 'subdomain.example.com'",
+          "items": {
+            "type": "string"
+          },
+          "type": "array"
+        },
+        "challengeSecurityPreference": {
+          "description": "Settings for the frequency and difficulty at which this key triggers captcha challenges. This should only be specified for IntegrationTypes CHECKBOX and INVISIBLE.",
+          "enum": [
+            "CHALLENGE_SECURITY_PREFERENCE_UNSPECIFIED",
+            "USABILITY",
+            "BALANCE",
+            "SECURITY"
+          ],
+          "enumDescriptions": [
+            "Default type that indicates this enum hasn't been specified.",
+            "Key tends to show fewer and easier challenges.",
+            "Key tends to show balanced (in amount and difficulty) challenges.",
+            "Key tends to show more and harder challenges."
+          ],
+          "type": "string"
+        },
+        "integrationType": {
+          "description": "Required. Describes how this key is integrated with the website.",
+          "enum": [
+            "INTEGRATION_TYPE_UNSPECIFIED",
+            "SCORE",
+            "CHECKBOX",
+            "INVISIBLE"
+          ],
+          "enumDescriptions": [
+            "Default type that indicates this enum hasn't been specified. This is not a valid IntegrationType, one of the other types must be specified instead.",
+            "Only used to produce scores. It doesn't display the \"I'm not a robot\" checkbox and never shows captcha challenges.",
+            "Displays the \"I'm not a robot\" checkbox and may show captcha challenges after it is checked.",
+            "Doesn't display the \"I'm not a robot\" checkbox, but may show captcha challenges after risk analysis."
+          ],
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
+    "GoogleProtobufEmpty": {
+      "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } The JSON representation for `Empty` is empty JSON object `{}`.",
+      "id": "GoogleProtobufEmpty",
+      "properties": {},
+      "type": "object"
+    }
+  },
+  "servicePath": "",
+  "title": "reCAPTCHA Enterprise API",
+  "version": "v1",
+  "version_module": true
+}
\ No newline at end of file
diff --git a/googleapiclient/discovery_cache/documents/recommendationengine.v1beta1.json b/googleapiclient/discovery_cache/documents/recommendationengine.v1beta1.json
index 2530a11..d2e4f23 100644
--- a/googleapiclient/discovery_cache/documents/recommendationengine.v1beta1.json
+++ b/googleapiclient/discovery_cache/documents/recommendationengine.v1beta1.json
@@ -842,7 +842,7 @@
       }
     }
   },
-  "revision": "20210426",
+  "revision": "20210513",
   "rootUrl": "https://recommendationengine.googleapis.com/",
   "schemas": {
     "GoogleApiHttpBody": {
@@ -1460,7 +1460,7 @@
           "additionalProperties": {
             "type": "any"
           },
-          "description": "Optional. Additional domain specific parameters for the predictions. Allowed values: * `returnCatalogItem`: Boolean. If set to true, the associated catalogItem object will be returned in the `PredictResponse.PredictionResult.itemMetadata` object in the method response. * `returnItemScore`: Boolean. If set to true, the prediction 'score' corresponding to each returned item will be set in the `metadata` field in the prediction response. The given 'score' indicates the probability of an item being clicked/purchased given the user's context and history. * `strictFiltering`: Boolean. True by default. If set to false, the service will return generic (unfiltered) popular items instead of empty if your filter blocks all prediction results.",
+          "description": "Optional. Additional domain specific parameters for the predictions. Allowed values: * `returnCatalogItem`: Boolean. If set to true, the associated catalogItem object will be returned in the `PredictResponse.PredictionResult.itemMetadata` object in the method response. * `returnItemScore`: Boolean. If set to true, the prediction 'score' corresponding to each returned item will be set in the `metadata` field in the prediction response. The given 'score' indicates the probability of an item being clicked/purchased given the user's context and history. * `strictFiltering`: Boolean. True by default. If set to false, the service will return generic (unfiltered) popular items instead of empty if your filter blocks all prediction results. * `priceRerankLevel`: String. Default empty. If set to be non-empty, then it needs to be one of {'no-price-reranking', 'low-price-reranking', 'medium-price-reranking', 'high-price-reranking'}. This gives request level control and adjust prediction results based on product price. * `diversityLevel`: String. Default empty. If set to be non-empty, then it needs to be one of {'no-diversity', 'low-diversity', 'medium-diversity', 'high-diversity', 'auto-diversity'}. This gives request level control and adjust prediction results based on product category.",
           "type": "object"
         },
         "userEvent": {
diff --git a/googleapiclient/discovery_cache/documents/recommender.v1.json b/googleapiclient/discovery_cache/documents/recommender.v1.json
index 45f36cc..e49059e 100644
--- a/googleapiclient/discovery_cache/documents/recommender.v1.json
+++ b/googleapiclient/discovery_cache/documents/recommender.v1.json
@@ -148,7 +148,7 @@
                       ],
                       "parameters": {
                         "filter": {
-                          "description": "Optional. Filter expression to restrict the insights returned. Supported filter fields: state Eg: `state:\"DISMISSED\" or state:\"ACTIVE\"",
+                          "description": "Optional. Filter expression to restrict the insights returned. Supported filter fields: * `stateInfo.state` * `insightSubtype` * `severity` Examples: * `stateInfo.state = ACTIVE OR stateInfo.state = DISMISSED` * `insightSubtype = PERMISSIONS_USAGE` * `severity = CRITICAL OR severity = HIGH` * `stateInfo.state = ACTIVE AND (severity = CRITICAL OR severity = HIGH)` (These expressions are based on the filter language described at https://google.aip.dev/160)",
                           "location": "query",
                           "type": "string"
                         },
@@ -250,7 +250,7 @@
                       ],
                       "parameters": {
                         "filter": {
-                          "description": "Filter expression to restrict the recommendations returned. Supported filter fields: state_info.state Eg: `state_info.state:\"DISMISSED\" or state_info.state:\"FAILED\"",
+                          "description": "Filter expression to restrict the recommendations returned. Supported filter fields: * `state_info.state` * `recommenderSubtype` * `priority` Examples: * `stateInfo.state = ACTIVE OR stateInfo.state = DISMISSED` * `recommenderSubtype = REMOVE_ROLE OR recommenderSubtype = REPLACE_ROLE` * `priority = P1 OR priority = P2` * `stateInfo.state = ACTIVE AND (priority = P1 OR priority = P2)` (These expressions are based on the filter language described at https://google.aip.dev/160)",
                           "location": "query",
                           "type": "string"
                         },
@@ -416,7 +416,7 @@
                       ],
                       "parameters": {
                         "filter": {
-                          "description": "Optional. Filter expression to restrict the insights returned. Supported filter fields: state Eg: `state:\"DISMISSED\" or state:\"ACTIVE\"",
+                          "description": "Optional. Filter expression to restrict the insights returned. Supported filter fields: * `stateInfo.state` * `insightSubtype` * `severity` Examples: * `stateInfo.state = ACTIVE OR stateInfo.state = DISMISSED` * `insightSubtype = PERMISSIONS_USAGE` * `severity = CRITICAL OR severity = HIGH` * `stateInfo.state = ACTIVE AND (severity = CRITICAL OR severity = HIGH)` (These expressions are based on the filter language described at https://google.aip.dev/160)",
                           "location": "query",
                           "type": "string"
                         },
@@ -518,7 +518,7 @@
                       ],
                       "parameters": {
                         "filter": {
-                          "description": "Filter expression to restrict the recommendations returned. Supported filter fields: state_info.state Eg: `state_info.state:\"DISMISSED\" or state_info.state:\"FAILED\"",
+                          "description": "Filter expression to restrict the recommendations returned. Supported filter fields: * `state_info.state` * `recommenderSubtype` * `priority` Examples: * `stateInfo.state = ACTIVE OR stateInfo.state = DISMISSED` * `recommenderSubtype = REMOVE_ROLE OR recommenderSubtype = REPLACE_ROLE` * `priority = P1 OR priority = P2` * `stateInfo.state = ACTIVE AND (priority = P1 OR priority = P2)` (These expressions are based on the filter language described at https://google.aip.dev/160)",
                           "location": "query",
                           "type": "string"
                         },
@@ -684,7 +684,7 @@
                       ],
                       "parameters": {
                         "filter": {
-                          "description": "Optional. Filter expression to restrict the insights returned. Supported filter fields: state Eg: `state:\"DISMISSED\" or state:\"ACTIVE\"",
+                          "description": "Optional. Filter expression to restrict the insights returned. Supported filter fields: * `stateInfo.state` * `insightSubtype` * `severity` Examples: * `stateInfo.state = ACTIVE OR stateInfo.state = DISMISSED` * `insightSubtype = PERMISSIONS_USAGE` * `severity = CRITICAL OR severity = HIGH` * `stateInfo.state = ACTIVE AND (severity = CRITICAL OR severity = HIGH)` (These expressions are based on the filter language described at https://google.aip.dev/160)",
                           "location": "query",
                           "type": "string"
                         },
@@ -786,7 +786,7 @@
                       ],
                       "parameters": {
                         "filter": {
-                          "description": "Filter expression to restrict the recommendations returned. Supported filter fields: state_info.state Eg: `state_info.state:\"DISMISSED\" or state_info.state:\"FAILED\"",
+                          "description": "Filter expression to restrict the recommendations returned. Supported filter fields: * `state_info.state` * `recommenderSubtype` * `priority` Examples: * `stateInfo.state = ACTIVE OR stateInfo.state = DISMISSED` * `recommenderSubtype = REMOVE_ROLE OR recommenderSubtype = REPLACE_ROLE` * `priority = P1 OR priority = P2` * `stateInfo.state = ACTIVE AND (priority = P1 OR priority = P2)` (These expressions are based on the filter language described at https://google.aip.dev/160)",
                           "location": "query",
                           "type": "string"
                         },
@@ -952,7 +952,7 @@
                       ],
                       "parameters": {
                         "filter": {
-                          "description": "Optional. Filter expression to restrict the insights returned. Supported filter fields: state Eg: `state:\"DISMISSED\" or state:\"ACTIVE\"",
+                          "description": "Optional. Filter expression to restrict the insights returned. Supported filter fields: * `stateInfo.state` * `insightSubtype` * `severity` Examples: * `stateInfo.state = ACTIVE OR stateInfo.state = DISMISSED` * `insightSubtype = PERMISSIONS_USAGE` * `severity = CRITICAL OR severity = HIGH` * `stateInfo.state = ACTIVE AND (severity = CRITICAL OR severity = HIGH)` (These expressions are based on the filter language described at https://google.aip.dev/160)",
                           "location": "query",
                           "type": "string"
                         },
@@ -1054,7 +1054,7 @@
                       ],
                       "parameters": {
                         "filter": {
-                          "description": "Filter expression to restrict the recommendations returned. Supported filter fields: state_info.state Eg: `state_info.state:\"DISMISSED\" or state_info.state:\"FAILED\"",
+                          "description": "Filter expression to restrict the recommendations returned. Supported filter fields: * `state_info.state` * `recommenderSubtype` * `priority` Examples: * `stateInfo.state = ACTIVE OR stateInfo.state = DISMISSED` * `recommenderSubtype = REMOVE_ROLE OR recommenderSubtype = REPLACE_ROLE` * `priority = P1 OR priority = P2` * `stateInfo.state = ACTIVE AND (priority = P1 OR priority = P2)` (These expressions are based on the filter language described at https://google.aip.dev/160)",
                           "location": "query",
                           "type": "string"
                         },
@@ -1178,7 +1178,7 @@
       }
     }
   },
-  "revision": "20210501",
+  "revision": "20210510",
   "rootUrl": "https://recommender.googleapis.com/",
   "schemas": {
     "GoogleCloudRecommenderV1CostProjection": {
@@ -1222,6 +1222,10 @@
         "costProjection": {
           "$ref": "GoogleCloudRecommenderV1CostProjection",
           "description": "Use with CategoryType.COST"
+        },
+        "securityProjection": {
+          "$ref": "GoogleCloudRecommenderV1SecurityProjection",
+          "description": "Use with CategoryType.SECURITY"
         }
       },
       "type": "object"
@@ -1668,6 +1672,21 @@
       },
       "type": "object"
     },
+    "GoogleCloudRecommenderV1SecurityProjection": {
+      "description": "Contains various ways of describing the impact on Security.",
+      "id": "GoogleCloudRecommenderV1SecurityProjection",
+      "properties": {
+        "details": {
+          "additionalProperties": {
+            "description": "Properties of the object.",
+            "type": "any"
+          },
+          "description": "Additional security impact details that is provided by the recommender.",
+          "type": "object"
+        }
+      },
+      "type": "object"
+    },
     "GoogleCloudRecommenderV1ValueMatcher": {
       "description": "Contains various matching options for values for a GCP resource field.",
       "id": "GoogleCloudRecommenderV1ValueMatcher",
diff --git a/googleapiclient/discovery_cache/documents/recommender.v1beta1.json b/googleapiclient/discovery_cache/documents/recommender.v1beta1.json
index 37edb8b..5b801d8 100644
--- a/googleapiclient/discovery_cache/documents/recommender.v1beta1.json
+++ b/googleapiclient/discovery_cache/documents/recommender.v1beta1.json
@@ -148,7 +148,7 @@
                       ],
                       "parameters": {
                         "filter": {
-                          "description": "Optional. Filter expression to restrict the insights returned. Supported filter fields: state Eg: `state:\"DISMISSED\" or state:\"ACTIVE\"",
+                          "description": "Optional. Filter expression to restrict the insights returned. Supported filter fields: * `stateInfo.state` * `insightSubtype` * `severity` Examples: * `stateInfo.state = ACTIVE OR stateInfo.state = DISMISSED` * `insightSubtype = PERMISSIONS_USAGE` * `severity = CRITICAL OR severity = HIGH` * `stateInfo.state = ACTIVE AND (severity = CRITICAL OR severity = HIGH)` (These expressions are based on the filter language described at https://google.aip.dev/160)",
                           "location": "query",
                           "type": "string"
                         },
@@ -250,7 +250,7 @@
                       ],
                       "parameters": {
                         "filter": {
-                          "description": "Filter expression to restrict the recommendations returned. Supported filter fields: state_info.state Eg: `state_info.state:\"DISMISSED\" or state_info.state:\"FAILED\"",
+                          "description": "Filter expression to restrict the recommendations returned. Supported filter fields: * `state_info.state` * `recommenderSubtype` * `priority` Examples: * `stateInfo.state = ACTIVE OR stateInfo.state = DISMISSED` * `recommenderSubtype = REMOVE_ROLE OR recommenderSubtype = REPLACE_ROLE` * `priority = P1 OR priority = P2` * `stateInfo.state = ACTIVE AND (priority = P1 OR priority = P2)` (These expressions are based on the filter language described at https://google.aip.dev/160)",
                           "location": "query",
                           "type": "string"
                         },
@@ -416,7 +416,7 @@
                       ],
                       "parameters": {
                         "filter": {
-                          "description": "Optional. Filter expression to restrict the insights returned. Supported filter fields: state Eg: `state:\"DISMISSED\" or state:\"ACTIVE\"",
+                          "description": "Optional. Filter expression to restrict the insights returned. Supported filter fields: * `stateInfo.state` * `insightSubtype` * `severity` Examples: * `stateInfo.state = ACTIVE OR stateInfo.state = DISMISSED` * `insightSubtype = PERMISSIONS_USAGE` * `severity = CRITICAL OR severity = HIGH` * `stateInfo.state = ACTIVE AND (severity = CRITICAL OR severity = HIGH)` (These expressions are based on the filter language described at https://google.aip.dev/160)",
                           "location": "query",
                           "type": "string"
                         },
@@ -518,7 +518,7 @@
                       ],
                       "parameters": {
                         "filter": {
-                          "description": "Filter expression to restrict the recommendations returned. Supported filter fields: state_info.state Eg: `state_info.state:\"DISMISSED\" or state_info.state:\"FAILED\"",
+                          "description": "Filter expression to restrict the recommendations returned. Supported filter fields: * `state_info.state` * `recommenderSubtype` * `priority` Examples: * `stateInfo.state = ACTIVE OR stateInfo.state = DISMISSED` * `recommenderSubtype = REMOVE_ROLE OR recommenderSubtype = REPLACE_ROLE` * `priority = P1 OR priority = P2` * `stateInfo.state = ACTIVE AND (priority = P1 OR priority = P2)` (These expressions are based on the filter language described at https://google.aip.dev/160)",
                           "location": "query",
                           "type": "string"
                         },
@@ -684,7 +684,7 @@
                       ],
                       "parameters": {
                         "filter": {
-                          "description": "Optional. Filter expression to restrict the insights returned. Supported filter fields: state Eg: `state:\"DISMISSED\" or state:\"ACTIVE\"",
+                          "description": "Optional. Filter expression to restrict the insights returned. Supported filter fields: * `stateInfo.state` * `insightSubtype` * `severity` Examples: * `stateInfo.state = ACTIVE OR stateInfo.state = DISMISSED` * `insightSubtype = PERMISSIONS_USAGE` * `severity = CRITICAL OR severity = HIGH` * `stateInfo.state = ACTIVE AND (severity = CRITICAL OR severity = HIGH)` (These expressions are based on the filter language described at https://google.aip.dev/160)",
                           "location": "query",
                           "type": "string"
                         },
@@ -786,7 +786,7 @@
                       ],
                       "parameters": {
                         "filter": {
-                          "description": "Filter expression to restrict the recommendations returned. Supported filter fields: state_info.state Eg: `state_info.state:\"DISMISSED\" or state_info.state:\"FAILED\"",
+                          "description": "Filter expression to restrict the recommendations returned. Supported filter fields: * `state_info.state` * `recommenderSubtype` * `priority` Examples: * `stateInfo.state = ACTIVE OR stateInfo.state = DISMISSED` * `recommenderSubtype = REMOVE_ROLE OR recommenderSubtype = REPLACE_ROLE` * `priority = P1 OR priority = P2` * `stateInfo.state = ACTIVE AND (priority = P1 OR priority = P2)` (These expressions are based on the filter language described at https://google.aip.dev/160)",
                           "location": "query",
                           "type": "string"
                         },
@@ -952,7 +952,7 @@
                       ],
                       "parameters": {
                         "filter": {
-                          "description": "Optional. Filter expression to restrict the insights returned. Supported filter fields: state Eg: `state:\"DISMISSED\" or state:\"ACTIVE\"",
+                          "description": "Optional. Filter expression to restrict the insights returned. Supported filter fields: * `stateInfo.state` * `insightSubtype` * `severity` Examples: * `stateInfo.state = ACTIVE OR stateInfo.state = DISMISSED` * `insightSubtype = PERMISSIONS_USAGE` * `severity = CRITICAL OR severity = HIGH` * `stateInfo.state = ACTIVE AND (severity = CRITICAL OR severity = HIGH)` (These expressions are based on the filter language described at https://google.aip.dev/160)",
                           "location": "query",
                           "type": "string"
                         },
@@ -1054,7 +1054,7 @@
                       ],
                       "parameters": {
                         "filter": {
-                          "description": "Filter expression to restrict the recommendations returned. Supported filter fields: state_info.state Eg: `state_info.state:\"DISMISSED\" or state_info.state:\"FAILED\"",
+                          "description": "Filter expression to restrict the recommendations returned. Supported filter fields: * `state_info.state` * `recommenderSubtype` * `priority` Examples: * `stateInfo.state = ACTIVE OR stateInfo.state = DISMISSED` * `recommenderSubtype = REMOVE_ROLE OR recommenderSubtype = REPLACE_ROLE` * `priority = P1 OR priority = P2` * `stateInfo.state = ACTIVE AND (priority = P1 OR priority = P2)` (These expressions are based on the filter language described at https://google.aip.dev/160)",
                           "location": "query",
                           "type": "string"
                         },
@@ -1178,7 +1178,7 @@
       }
     }
   },
-  "revision": "20210501",
+  "revision": "20210510",
   "rootUrl": "https://recommender.googleapis.com/",
   "schemas": {
     "GoogleCloudRecommenderV1beta1CostProjection": {
@@ -1222,6 +1222,10 @@
         "costProjection": {
           "$ref": "GoogleCloudRecommenderV1beta1CostProjection",
           "description": "Use with CategoryType.COST"
+        },
+        "securityProjection": {
+          "$ref": "GoogleCloudRecommenderV1beta1SecurityProjection",
+          "description": "Use with CategoryType.SECURITY"
         }
       },
       "type": "object"
@@ -1668,6 +1672,21 @@
       },
       "type": "object"
     },
+    "GoogleCloudRecommenderV1beta1SecurityProjection": {
+      "description": "Contains various ways of describing the impact on Security.",
+      "id": "GoogleCloudRecommenderV1beta1SecurityProjection",
+      "properties": {
+        "details": {
+          "additionalProperties": {
+            "description": "Properties of the object.",
+            "type": "any"
+          },
+          "description": "This field can be used by the recommender to define details specific to security impact.",
+          "type": "object"
+        }
+      },
+      "type": "object"
+    },
     "GoogleCloudRecommenderV1beta1ValueMatcher": {
       "description": "Contains various matching options for values for a GCP resource field.",
       "id": "GoogleCloudRecommenderV1beta1ValueMatcher",
diff --git a/googleapiclient/discovery_cache/documents/remotebuildexecution.v1.json b/googleapiclient/discovery_cache/documents/remotebuildexecution.v1.json
index c3f8bc5..fbdbafd 100644
--- a/googleapiclient/discovery_cache/documents/remotebuildexecution.v1.json
+++ b/googleapiclient/discovery_cache/documents/remotebuildexecution.v1.json
@@ -307,7 +307,7 @@
       }
     }
   },
-  "revision": "20210504",
+  "revision": "20210511",
   "rootUrl": "https://remotebuildexecution.googleapis.com/",
   "schemas": {
     "BuildBazelRemoteExecutionV2Action": {
diff --git a/googleapiclient/discovery_cache/documents/remotebuildexecution.v1alpha.json b/googleapiclient/discovery_cache/documents/remotebuildexecution.v1alpha.json
index f7d0734..8a38a98 100644
--- a/googleapiclient/discovery_cache/documents/remotebuildexecution.v1alpha.json
+++ b/googleapiclient/discovery_cache/documents/remotebuildexecution.v1alpha.json
@@ -432,7 +432,7 @@
       }
     }
   },
-  "revision": "20210504",
+  "revision": "20210511",
   "rootUrl": "https://admin-remotebuildexecution.googleapis.com/",
   "schemas": {
     "BuildBazelRemoteExecutionV2Action": {
diff --git a/googleapiclient/discovery_cache/documents/remotebuildexecution.v2.json b/googleapiclient/discovery_cache/documents/remotebuildexecution.v2.json
index fd19a61..cccda00 100644
--- a/googleapiclient/discovery_cache/documents/remotebuildexecution.v2.json
+++ b/googleapiclient/discovery_cache/documents/remotebuildexecution.v2.json
@@ -447,7 +447,7 @@
       }
     }
   },
-  "revision": "20210504",
+  "revision": "20210511",
   "rootUrl": "https://remotebuildexecution.googleapis.com/",
   "schemas": {
     "BuildBazelRemoteExecutionV2Action": {
diff --git a/googleapiclient/discovery_cache/documents/reseller.v1.json b/googleapiclient/discovery_cache/documents/reseller.v1.json
index 53079c1..a48e611 100644
--- a/googleapiclient/discovery_cache/documents/reseller.v1.json
+++ b/googleapiclient/discovery_cache/documents/reseller.v1.json
@@ -631,7 +631,7 @@
       }
     }
   },
-  "revision": "20210504",
+  "revision": "20210511",
   "rootUrl": "https://reseller.googleapis.com/",
   "schemas": {
     "Address": {
diff --git a/googleapiclient/discovery_cache/documents/runtimeconfig.v1.json b/googleapiclient/discovery_cache/documents/runtimeconfig.v1.json
index b56c99d..c45e868 100644
--- a/googleapiclient/discovery_cache/documents/runtimeconfig.v1.json
+++ b/googleapiclient/discovery_cache/documents/runtimeconfig.v1.json
@@ -210,7 +210,7 @@
       }
     }
   },
-  "revision": "20210501",
+  "revision": "20210510",
   "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 6fc4b62..3fe0593 100644
--- a/googleapiclient/discovery_cache/documents/runtimeconfig.v1beta1.json
+++ b/googleapiclient/discovery_cache/documents/runtimeconfig.v1beta1.json
@@ -805,7 +805,7 @@
       }
     }
   },
-  "revision": "20210501",
+  "revision": "20210510",
   "rootUrl": "https://runtimeconfig.googleapis.com/",
   "schemas": {
     "Binding": {
diff --git a/googleapiclient/discovery_cache/documents/safebrowsing.v4.json b/googleapiclient/discovery_cache/documents/safebrowsing.v4.json
index ab31cfd..17a8ed1 100644
--- a/googleapiclient/discovery_cache/documents/safebrowsing.v4.json
+++ b/googleapiclient/discovery_cache/documents/safebrowsing.v4.json
@@ -261,7 +261,7 @@
       }
     }
   },
-  "revision": "20210506",
+  "revision": "20210512",
   "rootUrl": "https://safebrowsing.googleapis.com/",
   "schemas": {
     "GoogleProtobufEmpty": {
diff --git a/googleapiclient/discovery_cache/documents/sasportal.v1alpha1.json b/googleapiclient/discovery_cache/documents/sasportal.v1alpha1.json
index 2e9f1f0..e0c2b7e 100644
--- a/googleapiclient/discovery_cache/documents/sasportal.v1alpha1.json
+++ b/googleapiclient/discovery_cache/documents/sasportal.v1alpha1.json
@@ -2483,7 +2483,7 @@
       }
     }
   },
-  "revision": "20210504",
+  "revision": "20210508",
   "rootUrl": "https://sasportal.googleapis.com/",
   "schemas": {
     "SasPortalAssignment": {
diff --git a/googleapiclient/discovery_cache/documents/script.v1.json b/googleapiclient/discovery_cache/documents/script.v1.json
index d99fe9a..ae033dc 100644
--- a/googleapiclient/discovery_cache/documents/script.v1.json
+++ b/googleapiclient/discovery_cache/documents/script.v1.json
@@ -887,7 +887,7 @@
       }
     }
   },
-  "revision": "20210423",
+  "revision": "20210510",
   "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 79bae40..54811e7 100644
--- a/googleapiclient/discovery_cache/documents/searchconsole.v1.json
+++ b/googleapiclient/discovery_cache/documents/searchconsole.v1.json
@@ -373,7 +373,7 @@
       }
     }
   },
-  "revision": "20210508",
+  "revision": "20210512",
   "rootUrl": "https://searchconsole.googleapis.com/",
   "schemas": {
     "ApiDataRow": {
diff --git a/googleapiclient/discovery_cache/documents/securitycenter.v1.json b/googleapiclient/discovery_cache/documents/securitycenter.v1.json
index b8fc1f7..f42e35c 100644
--- a/googleapiclient/discovery_cache/documents/securitycenter.v1.json
+++ b/googleapiclient/discovery_cache/documents/securitycenter.v1.json
@@ -1816,7 +1816,7 @@
       }
     }
   },
-  "revision": "20210430",
+  "revision": "20210507",
   "rootUrl": "https://securitycenter.googleapis.com/",
   "schemas": {
     "Asset": {
diff --git a/googleapiclient/discovery_cache/documents/securitycenter.v1beta1.json b/googleapiclient/discovery_cache/documents/securitycenter.v1beta1.json
index 7bce810..046de61 100644
--- a/googleapiclient/discovery_cache/documents/securitycenter.v1beta1.json
+++ b/googleapiclient/discovery_cache/documents/securitycenter.v1beta1.json
@@ -896,7 +896,7 @@
       }
     }
   },
-  "revision": "20210430",
+  "revision": "20210507",
   "rootUrl": "https://securitycenter.googleapis.com/",
   "schemas": {
     "Asset": {
diff --git a/googleapiclient/discovery_cache/documents/securitycenter.v1beta2.json b/googleapiclient/discovery_cache/documents/securitycenter.v1beta2.json
index 8387ea8..4b2cc45 100644
--- a/googleapiclient/discovery_cache/documents/securitycenter.v1beta2.json
+++ b/googleapiclient/discovery_cache/documents/securitycenter.v1beta2.json
@@ -1328,7 +1328,7 @@
       }
     }
   },
-  "revision": "20210430",
+  "revision": "20210507",
   "rootUrl": "https://securitycenter.googleapis.com/",
   "schemas": {
     "Config": {
diff --git a/googleapiclient/discovery_cache/documents/serviceconsumermanagement.v1.json b/googleapiclient/discovery_cache/documents/serviceconsumermanagement.v1.json
index 5bea560..d191b4f 100644
--- a/googleapiclient/discovery_cache/documents/serviceconsumermanagement.v1.json
+++ b/googleapiclient/discovery_cache/documents/serviceconsumermanagement.v1.json
@@ -542,7 +542,7 @@
       }
     }
   },
-  "revision": "20210505",
+  "revision": "20210512",
   "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 35da6bd..78de3fb 100644
--- a/googleapiclient/discovery_cache/documents/serviceconsumermanagement.v1beta1.json
+++ b/googleapiclient/discovery_cache/documents/serviceconsumermanagement.v1beta1.json
@@ -500,7 +500,7 @@
       }
     }
   },
-  "revision": "20210505",
+  "revision": "20210512",
   "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 d1f6be3..741715e 100644
--- a/googleapiclient/discovery_cache/documents/servicedirectory.v1.json
+++ b/googleapiclient/discovery_cache/documents/servicedirectory.v1.json
@@ -883,7 +883,7 @@
       }
     }
   },
-  "revision": "20210422",
+  "revision": "20210505",
   "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 77b349a..5b0ba14 100644
--- a/googleapiclient/discovery_cache/documents/servicedirectory.v1beta1.json
+++ b/googleapiclient/discovery_cache/documents/servicedirectory.v1beta1.json
@@ -883,7 +883,7 @@
       }
     }
   },
-  "revision": "20210422",
+  "revision": "20210505",
   "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 cb28a76..cff97ea 100644
--- a/googleapiclient/discovery_cache/documents/servicemanagement.v1.json
+++ b/googleapiclient/discovery_cache/documents/servicemanagement.v1.json
@@ -829,7 +829,7 @@
       }
     }
   },
-  "revision": "20210430",
+  "revision": "20210507",
   "rootUrl": "https://servicemanagement.googleapis.com/",
   "schemas": {
     "Advice": {
diff --git a/googleapiclient/discovery_cache/documents/servicenetworking.v1.json b/googleapiclient/discovery_cache/documents/servicenetworking.v1.json
index 33932a1..2494bae 100644
--- a/googleapiclient/discovery_cache/documents/servicenetworking.v1.json
+++ b/googleapiclient/discovery_cache/documents/servicenetworking.v1.json
@@ -860,7 +860,7 @@
       }
     }
   },
-  "revision": "20210505",
+  "revision": "20210512",
   "rootUrl": "https://servicenetworking.googleapis.com/",
   "schemas": {
     "AddDnsRecordSetMetadata": {
diff --git a/googleapiclient/discovery_cache/documents/servicenetworking.v1beta.json b/googleapiclient/discovery_cache/documents/servicenetworking.v1beta.json
index 3ed04b5..1698e14 100644
--- a/googleapiclient/discovery_cache/documents/servicenetworking.v1beta.json
+++ b/googleapiclient/discovery_cache/documents/servicenetworking.v1beta.json
@@ -307,7 +307,7 @@
       }
     }
   },
-  "revision": "20210505",
+  "revision": "20210512",
   "rootUrl": "https://servicenetworking.googleapis.com/",
   "schemas": {
     "AddDnsRecordSetMetadata": {
diff --git a/googleapiclient/discovery_cache/documents/serviceusage.v1.json b/googleapiclient/discovery_cache/documents/serviceusage.v1.json
index f0e9811..0b08a55 100644
--- a/googleapiclient/discovery_cache/documents/serviceusage.v1.json
+++ b/googleapiclient/discovery_cache/documents/serviceusage.v1.json
@@ -426,7 +426,7 @@
       }
     }
   },
-  "revision": "20210505",
+  "revision": "20210512",
   "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 cf4d598..35eca95 100644
--- a/googleapiclient/discovery_cache/documents/serviceusage.v1beta1.json
+++ b/googleapiclient/discovery_cache/documents/serviceusage.v1beta1.json
@@ -959,7 +959,7 @@
       }
     }
   },
-  "revision": "20210505",
+  "revision": "20210512",
   "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 04043cf..81be85d 100644
--- a/googleapiclient/discovery_cache/documents/sheets.v4.json
+++ b/googleapiclient/discovery_cache/documents/sheets.v4.json
@@ -383,7 +383,7 @@
                   "type": "string"
                 },
                 "responseDateTimeRenderOption": {
-                  "description": "Determines how dates, times, and durations in the response should be rendered. This is ignored if response_value_render_option is FORMATTED_VALUE. The default dateTime render option is [DateTimeRenderOption.SERIAL_NUMBER].",
+                  "description": "Determines how dates, times, and durations in the response should be rendered. This is ignored if response_value_render_option is FORMATTED_VALUE. The default dateTime render option is SERIAL_NUMBER.",
                   "enum": [
                     "SERIAL_NUMBER",
                     "FORMATTED_STRING"
@@ -396,7 +396,7 @@
                   "type": "string"
                 },
                 "responseValueRenderOption": {
-                  "description": "Determines how values in the response should be rendered. The default render option is ValueRenderOption.FORMATTED_VALUE.",
+                  "description": "Determines how values in the response should be rendered. The default render option is FORMATTED_VALUE.",
                   "enum": [
                     "FORMATTED_VALUE",
                     "UNFORMATTED_VALUE",
@@ -513,7 +513,7 @@
               ],
               "parameters": {
                 "dateTimeRenderOption": {
-                  "description": "How dates, times, and durations should be represented in the output. This is ignored if value_render_option is FORMATTED_VALUE. The default dateTime render option is [DateTimeRenderOption.SERIAL_NUMBER].",
+                  "description": "How dates, times, and durations should be represented in the output. This is ignored if value_render_option is FORMATTED_VALUE. The default dateTime render option is SERIAL_NUMBER.",
                   "enum": [
                     "SERIAL_NUMBER",
                     "FORMATTED_STRING"
@@ -714,7 +714,7 @@
               ],
               "parameters": {
                 "dateTimeRenderOption": {
-                  "description": "How dates, times, and durations should be represented in the output. This is ignored if value_render_option is FORMATTED_VALUE. The default dateTime render option is [DateTimeRenderOption.SERIAL_NUMBER].",
+                  "description": "How dates, times, and durations should be represented in the output. This is ignored if value_render_option is FORMATTED_VALUE. The default dateTime render option is SERIAL_NUMBER.",
                   "enum": [
                     "SERIAL_NUMBER",
                     "FORMATTED_STRING"
@@ -754,7 +754,7 @@
                   "type": "string"
                 },
                 "valueRenderOption": {
-                  "description": "How values should be represented in the output. The default render option is ValueRenderOption.FORMATTED_VALUE.",
+                  "description": "How values should be represented in the output. The default render option is FORMATTED_VALUE.",
                   "enum": [
                     "FORMATTED_VALUE",
                     "UNFORMATTED_VALUE",
@@ -803,7 +803,7 @@
                   "type": "string"
                 },
                 "responseDateTimeRenderOption": {
-                  "description": "Determines how dates, times, and durations in the response should be rendered. This is ignored if response_value_render_option is FORMATTED_VALUE. The default dateTime render option is DateTimeRenderOption.SERIAL_NUMBER.",
+                  "description": "Determines how dates, times, and durations in the response should be rendered. This is ignored if response_value_render_option is FORMATTED_VALUE. The default dateTime render option is SERIAL_NUMBER.",
                   "enum": [
                     "SERIAL_NUMBER",
                     "FORMATTED_STRING"
@@ -816,7 +816,7 @@
                   "type": "string"
                 },
                 "responseValueRenderOption": {
-                  "description": "Determines how values in the response should be rendered. The default render option is ValueRenderOption.FORMATTED_VALUE.",
+                  "description": "Determines how values in the response should be rendered. The default render option is FORMATTED_VALUE.",
                   "enum": [
                     "FORMATTED_VALUE",
                     "UNFORMATTED_VALUE",
@@ -870,7 +870,7 @@
       }
     }
   },
-  "revision": "20210429",
+  "revision": "20210504",
   "rootUrl": "https://sheets.googleapis.com/",
   "schemas": {
     "AddBandingRequest": {
@@ -1309,7 +1309,7 @@
         },
         "textFormat": {
           "$ref": "TextFormat",
-          "description": "Text formatting options for baseline value."
+          "description": "Text formatting options for baseline value. The link field is not supported."
         }
       },
       "type": "object"
@@ -1320,7 +1320,7 @@
       "properties": {
         "format": {
           "$ref": "TextFormat",
-          "description": "The format of the title. Only valid if the axis is not associated with the domain."
+          "description": "The format of the title. Only valid if the axis is not associated with the domain. The link field is not supported."
         },
         "position": {
           "description": "The position of this axis.",
@@ -1701,7 +1701,7 @@
           "type": "array"
         },
         "dateTimeRenderOption": {
-          "description": "How dates, times, and durations should be represented in the output. This is ignored if value_render_option is FORMATTED_VALUE. The default dateTime render option is [DateTimeRenderOption.SERIAL_NUMBER].",
+          "description": "How dates, times, and durations should be represented in the output. This is ignored if value_render_option is FORMATTED_VALUE. The default dateTime render option is SERIAL_NUMBER.",
           "enum": [
             "SERIAL_NUMBER",
             "FORMATTED_STRING"
@@ -1727,7 +1727,7 @@
           "type": "string"
         },
         "valueRenderOption": {
-          "description": "How values should be represented in the output. The default render option is ValueRenderOption.FORMATTED_VALUE.",
+          "description": "How values should be represented in the output. The default render option is FORMATTED_VALUE.",
           "enum": [
             "FORMATTED_VALUE",
             "UNFORMATTED_VALUE",
@@ -1825,7 +1825,7 @@
         },
         "updatedSpreadsheet": {
           "$ref": "Spreadsheet",
-          "description": "The spreadsheet after updates were applied. This is only set if [BatchUpdateSpreadsheetRequest.include_spreadsheet_in_response] is `true`."
+          "description": "The spreadsheet after updates were applied. This is only set if BatchUpdateSpreadsheetRequest.include_spreadsheet_in_response is `true`."
         }
       },
       "type": "object"
@@ -1846,7 +1846,7 @@
           "type": "boolean"
         },
         "responseDateTimeRenderOption": {
-          "description": "Determines how dates, times, and durations in the response should be rendered. This is ignored if response_value_render_option is FORMATTED_VALUE. The default dateTime render option is DateTimeRenderOption.SERIAL_NUMBER.",
+          "description": "Determines how dates, times, and durations in the response should be rendered. This is ignored if response_value_render_option is FORMATTED_VALUE. The default dateTime render option is SERIAL_NUMBER.",
           "enum": [
             "SERIAL_NUMBER",
             "FORMATTED_STRING"
@@ -1858,7 +1858,7 @@
           "type": "string"
         },
         "responseValueRenderOption": {
-          "description": "Determines how values in the response should be rendered. The default render option is ValueRenderOption.FORMATTED_VALUE.",
+          "description": "Determines how values in the response should be rendered. The default render option is FORMATTED_VALUE.",
           "enum": [
             "FORMATTED_VALUE",
             "UNFORMATTED_VALUE",
@@ -1942,7 +1942,7 @@
           "type": "boolean"
         },
         "responseDateTimeRenderOption": {
-          "description": "Determines how dates, times, and durations in the response should be rendered. This is ignored if response_value_render_option is FORMATTED_VALUE. The default dateTime render option is DateTimeRenderOption.SERIAL_NUMBER.",
+          "description": "Determines how dates, times, and durations in the response should be rendered. This is ignored if response_value_render_option is FORMATTED_VALUE. The default dateTime render option is SERIAL_NUMBER.",
           "enum": [
             "SERIAL_NUMBER",
             "FORMATTED_STRING"
@@ -1954,7 +1954,7 @@
           "type": "string"
         },
         "responseValueRenderOption": {
-          "description": "Determines how values in the response should be rendered. The default render option is ValueRenderOption.FORMATTED_VALUE.",
+          "description": "Determines how values in the response should be rendered. The default render option is FORMATTED_VALUE.",
           "enum": [
             "FORMATTED_VALUE",
             "UNFORMATTED_VALUE",
@@ -2276,7 +2276,7 @@
         },
         "bubbleTextStyle": {
           "$ref": "TextFormat",
-          "description": "The format of the text inside the bubbles. Strikethrough and underline are not supported."
+          "description": "The format of the text inside the bubbles. Strikethrough, underline, and link are not supported."
         },
         "domain": {
           "$ref": "ChartData",
@@ -2388,7 +2388,7 @@
       "properties": {
         "dataSourceFormula": {
           "$ref": "DataSourceFormula",
-          "description": "Output only. Information about a data source formula on the cell. The field is set if user_entered_value is a formula referencing some DATA_SOURCE sheet, e.g `=SUM(DataSheet!Column)`.",
+          "description": "Output only. Information about a data source formula on the cell. The field is set if user_entered_value is a formula referencing some DATA_SOURCE sheet, e.g. `=SUM(DataSheet!Column)`.",
           "readOnly": true
         },
         "dataSourceTable": {
@@ -2412,7 +2412,7 @@
           "type": "string"
         },
         "hyperlink": {
-          "description": "A hyperlink this cell points to, if any. If the cell contains multiple hyperlinks, this field will be empty. This field is read-only. To set it, use a `=HYPERLINK` formula in the userEnteredValue.formulaValue field.",
+          "description": "A hyperlink this cell points to, if any. If the cell contains multiple hyperlinks, this field will be empty. This field is read-only. To set it, use a `=HYPERLINK` formula in the userEnteredValue.formulaValue field. A cell-level link can also be set from the userEnteredFormat.textFormat field. Alternatively, set a hyperlink in the textFormatRun.format.link field that spans the entire cell.",
           "type": "string"
         },
         "note": {
@@ -2511,7 +2511,7 @@
         },
         "textFormat": {
           "$ref": "TextFormat",
-          "description": "The format of the text in the cell (unless overridden by a format run)."
+          "description": "The format of the text in the cell (unless overridden by a format run). Setting a cell-level link will clear the cell's existing links. Setting a link in a format run will clear the cell-level link."
         },
         "textRotation": {
           "$ref": "TextRotation",
@@ -2544,7 +2544,7 @@
           ],
           "enumDescriptions": [
             "The default value, do not use.",
-            "Lines that are longer than the cell width will be written in the next cell over, so long as that cell is empty. If the next cell over is non-empty, this behaves the same as CLIP. The text will never wrap to the next line unless the user manually inserts a new line. Example: | First sentence. | | Manual newline that is very long. <- Text continues into next cell | Next newline. |",
+            "Lines that are longer than the cell width will be written in the next cell over, so long as that cell is empty. If the next cell over is non-empty, this behaves the same as `CLIP`. The text will never wrap to the next line unless the user manually inserts a new line. Example: | First sentence. | | Manual newline that is very long. <- Text continues into next cell | Next newline. |",
             "This wrap strategy represents the old Google Sheets wrap strategy where words that are longer than a line are clipped rather than broken. This strategy is not supported on all platforms and is being phased out. Example: | Cell has a | | loooooooooo| <- Word is clipped. | word. |",
             "Lines that are longer than the cell width will be clipped. The text will never wrap to the next line unless the user manually inserts a new line. Example: | First sentence. | | Manual newline t| <- Text is clipped | Next newline. |",
             "Words that are longer than a line are wrapped at the character level rather than clipped. Example: | Cell has a | | loooooooooo| <- Word is broken. | ong word. |"
@@ -2835,7 +2835,7 @@
         },
         "subtitleTextFormat": {
           "$ref": "TextFormat",
-          "description": "The subtitle text format. Strikethrough and underline are not supported."
+          "description": "The subtitle text format. Strikethrough, underline, and link are not supported."
         },
         "subtitleTextPosition": {
           "$ref": "TextPosition",
@@ -2847,7 +2847,7 @@
         },
         "titleTextFormat": {
           "$ref": "TextFormat",
-          "description": "The title text format. Strikethrough and underline are not supported."
+          "description": "The title text format. Strikethrough, underline, and link are not supported."
         },
         "titleTextPosition": {
           "$ref": "TextPosition",
@@ -3053,7 +3053,7 @@
             "Paste values, formulas, formats, and merges.",
             "Paste the values ONLY without formats, formulas, or merges.",
             "Paste the format and data validation only.",
-            "Like PASTE_NORMAL but without borders.",
+            "Like `PASTE_NORMAL` but without borders.",
             "Paste the formulas only.",
             "Paste the data validation only.",
             "Paste the conditional formatting rules only."
@@ -3123,7 +3123,7 @@
             "Paste values, formulas, formats, and merges.",
             "Paste the values ONLY without formats, formulas, or merges.",
             "Paste the format and data validation only.",
-            "Like PASTE_NORMAL but without borders.",
+            "Like `PASTE_NORMAL` but without borders.",
             "Paste the formulas only.",
             "Paste the data validation only.",
             "Paste the conditional formatting rules only."
@@ -3305,7 +3305,7 @@
         },
         "textFormat": {
           "$ref": "TextFormat",
-          "description": "The text format used for the data label."
+          "description": "The text format used for the data label. The link field is not supported."
         },
         "type": {
           "description": "The type of the data label.",
@@ -3984,7 +3984,7 @@
       "id": "DeleteSheetRequest",
       "properties": {
         "sheetId": {
-          "description": "The ID of the sheet to delete. If the sheet is of SheetType.DATA_SOURCE type, the associated DataSource is also deleted.",
+          "description": "The ID of the sheet to delete. If the sheet is of DATA_SOURCE type, the associated DataSource is also deleted.",
           "format": "int32",
           "type": "integer"
         }
@@ -4425,7 +4425,7 @@
           "type": "string"
         },
         "numberValue": {
-          "description": "Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in \"serial number\" format.",
+          "description": "Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in SERIAL_NUMBER format.",
           "format": "double",
           "type": "number"
         },
@@ -4937,8 +4937,8 @@
             "The interpolation point uses the minimum value in the cells over the range of the conditional format.",
             "The interpolation point uses the maximum value in the cells over the range of the conditional format.",
             "The interpolation point uses exactly the value in InterpolationPoint.value.",
-            "The interpolation point is the given percentage over all the cells in the range of the conditional format. This is equivalent to NUMBER if the value was: `=(MAX(FLATTEN(range)) * (value / 100)) + (MIN(FLATTEN(range)) * (1 - (value / 100)))` (where errors in the range are ignored when flattening).",
-            "The interpolation point is the given percentile over all the cells in the range of the conditional format. This is equivalent to NUMBER if the value was: `=PERCENTILE(FLATTEN(range), value / 100)` (where errors in the range are ignored when flattening)."
+            "The interpolation point is the given percentage over all the cells in the range of the conditional format. This is equivalent to `NUMBER` if the value was: `=(MAX(FLATTEN(range)) * (value / 100)) + (MIN(FLATTEN(range)) * (1 - (value / 100)))` (where errors in the range are ignored when flattening).",
+            "The interpolation point is the given percentile over all the cells in the range of the conditional format. This is equivalent to `NUMBER` if the value was: `=PERCENTILE(FLATTEN(range), value / 100)` (where errors in the range are ignored when flattening)."
           ],
           "type": "string"
         },
@@ -4993,7 +4993,7 @@
         },
         "textFormat": {
           "$ref": "TextFormat",
-          "description": "Text formatting options for key value."
+          "description": "Text formatting options for key value. The link field is not supported."
         }
       },
       "type": "object"
@@ -5356,7 +5356,7 @@
             "Paste values, formulas, formats, and merges.",
             "Paste the values ONLY without formats, formulas, or merges.",
             "Paste the format and data validation only.",
-            "Like PASTE_NORMAL but without borders.",
+            "Like `PASTE_NORMAL` but without borders.",
             "Paste the formulas only.",
             "Paste the data validation only.",
             "Paste the conditional formatting rules only."
@@ -6617,7 +6617,7 @@
         },
         "textFormat": {
           "$ref": "TextFormat",
-          "description": "The text format of title in the slicer."
+          "description": "The text format of title in the slicer. The link field is not supported."
         },
         "title": {
           "description": "The title of the slicer.",
@@ -7139,7 +7139,7 @@
         },
         "textFormat": {
           "$ref": "TextFormat",
-          "description": "The text format for all labels on the chart."
+          "description": "The text format for all labels on the chart. The link field is not supported."
         }
       },
       "type": "object"
diff --git a/googleapiclient/discovery_cache/documents/smartdevicemanagement.v1.json b/googleapiclient/discovery_cache/documents/smartdevicemanagement.v1.json
index bea72b7..b0f6282 100644
--- a/googleapiclient/discovery_cache/documents/smartdevicemanagement.v1.json
+++ b/googleapiclient/discovery_cache/documents/smartdevicemanagement.v1.json
@@ -345,7 +345,7 @@
       }
     }
   },
-  "revision": "20210428",
+  "revision": "20210512",
   "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 d8b1b9a..28e5127 100644
--- a/googleapiclient/discovery_cache/documents/spanner.v1.json
+++ b/googleapiclient/discovery_cache/documents/spanner.v1.json
@@ -1923,7 +1923,7 @@
       }
     }
   },
-  "revision": "20210424",
+  "revision": "20210428",
   "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 5dd5b3f..a5bd749 100644
--- a/googleapiclient/discovery_cache/documents/speech.v1.json
+++ b/googleapiclient/discovery_cache/documents/speech.v1.json
@@ -212,7 +212,7 @@
       }
     }
   },
-  "revision": "20210429",
+  "revision": "20210506",
   "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 6d8caae..375cbd0 100644
--- a/googleapiclient/discovery_cache/documents/speech.v1p1beta1.json
+++ b/googleapiclient/discovery_cache/documents/speech.v1p1beta1.json
@@ -524,7 +524,7 @@
       }
     }
   },
-  "revision": "20210429",
+  "revision": "20210506",
   "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 3ddf8f2..3e31807 100644
--- a/googleapiclient/discovery_cache/documents/speech.v2beta1.json
+++ b/googleapiclient/discovery_cache/documents/speech.v2beta1.json
@@ -184,7 +184,7 @@
       }
     }
   },
-  "revision": "20210429",
+  "revision": "20210506",
   "rootUrl": "https://speech.googleapis.com/",
   "schemas": {
     "ListOperationsResponse": {
diff --git a/googleapiclient/discovery_cache/documents/storagetransfer.v1.json b/googleapiclient/discovery_cache/documents/storagetransfer.v1.json
index 3cabe04..f8471e2 100644
--- a/googleapiclient/discovery_cache/documents/storagetransfer.v1.json
+++ b/googleapiclient/discovery_cache/documents/storagetransfer.v1.json
@@ -434,7 +434,7 @@
       }
     }
   },
-  "revision": "20210429",
+  "revision": "20210506",
   "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 1afcc15..1dc0a8b 100644
--- a/googleapiclient/discovery_cache/documents/streetviewpublish.v1.json
+++ b/googleapiclient/discovery_cache/documents/streetviewpublish.v1.json
@@ -375,7 +375,7 @@
       }
     }
   },
-  "revision": "20210506",
+  "revision": "20210513",
   "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 f29aa0b..0aab900 100644
--- a/googleapiclient/discovery_cache/documents/sts.v1.json
+++ b/googleapiclient/discovery_cache/documents/sts.v1.json
@@ -116,7 +116,7 @@
       }
     }
   },
-  "revision": "20210430",
+  "revision": "20210508",
   "rootUrl": "https://sts.googleapis.com/",
   "schemas": {
     "GoogleIdentityStsV1ExchangeTokenRequest": {
@@ -144,7 +144,7 @@
           "type": "string"
         },
         "subjectToken": {
-          "description": "Required. The input token. This token is a either an external credential issued by a workload identity pool provider, or a short-lived access token issued by Google. If the token is an OIDC JWT, it must use the JWT format defined in [RFC 7523](https://tools.ietf.org/html/rfc7523), and the `subject_token_type` must be `urn:ietf:params:oauth:token-type:jwt`. The following headers are required: - `kid`: The identifier of the signing key securing the JWT. - `alg`: The cryptographic algorithm securing the JWT. Must be `RS256`. The following payload fields are required. For more information, see [RFC 7523, Section 3](https://tools.ietf.org/html/rfc7523#section-3): - `iss`: The issuer of the token. The issuer must provide a discovery document at the URL `/.well-known/openid-configuration`, where `` is the value of this field. The document must be formatted according to section 4.2 of the [OIDC 1.0 Discovery specification](https://openid.net/specs/openid-connect-discovery-1_0.html#ProviderConfigurationResponse). - `iat`: The issue time, in seconds, since the Unix epoch. Must be in the past. - `exp`: The expiration time, in seconds, since the Unix epoch. Must be less than 48 hours after `iat`. Shorter expiration times are more secure. If possible, we recommend setting an expiration time less than 6 hours. - `sub`: The identity asserted in the JWT. - `aud`: Configured by the mapper policy. The default value is the service account's unique ID. Example header: ``` { \"alg\": \"RS256\", \"kid\": \"us-east-11\" } ``` Example payload: ``` { \"iss\": \"https://accounts.google.com\", \"iat\": 1517963104, \"exp\": 1517966704, \"aud\": \"113475438248934895348\", \"sub\": \"113475438248934895348\", \"my_claims\": { \"additional_claim\": \"value\" } } ``` If `subject_token` is for AWS, it must be a serialized `GetCallerIdentity` token. This token contains the same information as a request to the AWS [`GetCallerIdentity()`](https://docs.aws.amazon.com/STS/latest/APIReference/API_GetCallerIdentity) method, as well as the AWS [signature](https://docs.aws.amazon.com/general/latest/gr/signing_aws_api_requests.html) for the request information. Use Signature Version 4. Format the request as URL-encoded JSON, and set the `subject_token_type` parameter to `urn:ietf:params:aws:token-type:aws4_request`. The following parameters are required: - `url`: The URL of the AWS STS endpoint for `GetCallerIdentity()`, such as `https://sts.amazonaws.com?Action=GetCallerIdentity&Version=2011-06-15`. Regional endpoints are also supported. - `method`: The HTTP request method: `POST`. - `headers`: The HTTP request headers, which must include: - `Authorization`: The request signature. - `x-amz-date`: The time you will send the request, formatted as an [ISO8601 Basic](https://docs.aws.amazon.com/general/latest/gr/sigv4_elements.html#sigv4_elements_date) string. This value is typically set to the current time and is used to help prevent replay attacks. - `host`: The hostname of the `url` field; for example, `sts.amazonaws.com`. - `x-goog-cloud-target-resource`: The full, canonical resource name of the workload identity pool provider, with or without an `https:` prefix. To help ensure data integrity, we recommend including this header in the `SignedHeaders` field of the signed request. For example: //iam.googleapis.com/projects//locations//workloadIdentityPools//providers/ https://iam.googleapis.com/projects//locations//workloadIdentityPools//providers/ If you are using temporary security credentials provided by AWS, you must also include the header `x-amz-security-token`, with the value set to the session token. The following example shows a `GetCallerIdentity` token: ``` { \"headers\": [ {\"key\": \"x-amz-date\", \"value\": \"20200815T015049Z\"}, {\"key\": \"Authorization\", \"value\": \"AWS4-HMAC-SHA256+Credential=$credential,+SignedHeaders=host;x-amz-date;x-goog-cloud-target-resource,+Signature=$signature\"}, {\"key\": \"x-goog-cloud-target-resource\", \"value\": \"//iam.googleapis.com/projects//locations//workloadIdentityPools//providers/\"}, {\"key\": \"host\", \"value\": \"sts.amazonaws.com\"} . ], \"method\": \"POST\", \"url\": \"https://sts.amazonaws.com?Action=GetCallerIdentity&Version=2011-06-15\" } ``` You can also use a Google-issued OAuth 2.0 access token with this field to obtain an access token with new security attributes applied, such as a Credential Access Boundary. In this case, set `subject_token_type` to `urn:ietf:params:oauth:token-type:access_token`. If an access token already contains security attributes, you cannot apply additional security attributes.",
+          "description": "Required. The input token. This token is a either an external credential issued by a workload identity pool provider, or a short-lived access token issued by Google. If the token is an OIDC JWT, it must use the JWT format defined in [RFC 7523](https://tools.ietf.org/html/rfc7523), and the `subject_token_type` must be `urn:ietf:params:oauth:token-type:jwt`. The following headers are required: - `kid`: The identifier of the signing key securing the JWT. - `alg`: The cryptographic algorithm securing the JWT. Must be `RS256` or `ES256`. The following payload fields are required. For more information, see [RFC 7523, Section 3](https://tools.ietf.org/html/rfc7523#section-3): - `iss`: The issuer of the token. The issuer must provide a discovery document at the URL `/.well-known/openid-configuration`, where `` is the value of this field. The document must be formatted according to section 4.2 of the [OIDC 1.0 Discovery specification](https://openid.net/specs/openid-connect-discovery-1_0.html#ProviderConfigurationResponse). - `iat`: The issue time, in seconds, since the Unix epoch. Must be in the past. - `exp`: The expiration time, in seconds, since the Unix epoch. Must be less than 48 hours after `iat`. Shorter expiration times are more secure. If possible, we recommend setting an expiration time less than 6 hours. - `sub`: The identity asserted in the JWT. - `aud`: For workload identity pools, this must be a value specified in the allowed audiences for the workload identity pool provider, or one of the audiences allowed by default if no audiences were specified. See https://cloud.google.com/iam/docs/reference/rest/v1/projects.locations.workloadIdentityPools.providers#oidc Example header: ``` { \"alg\": \"RS256\", \"kid\": \"us-east-11\" } ``` Example payload: ``` { \"iss\": \"https://accounts.google.com\", \"iat\": 1517963104, \"exp\": 1517966704, \"aud\": \"//iam.googleapis.com/projects/1234567890123/locations/global/workloadIdentityPools/my-pool/providers/my-provider\", \"sub\": \"113475438248934895348\", \"my_claims\": { \"additional_claim\": \"value\" } } ``` If `subject_token` is for AWS, it must be a serialized `GetCallerIdentity` token. This token contains the same information as a request to the AWS [`GetCallerIdentity()`](https://docs.aws.amazon.com/STS/latest/APIReference/API_GetCallerIdentity) method, as well as the AWS [signature](https://docs.aws.amazon.com/general/latest/gr/signing_aws_api_requests.html) for the request information. Use Signature Version 4. Format the request as URL-encoded JSON, and set the `subject_token_type` parameter to `urn:ietf:params:aws:token-type:aws4_request`. The following parameters are required: - `url`: The URL of the AWS STS endpoint for `GetCallerIdentity()`, such as `https://sts.amazonaws.com?Action=GetCallerIdentity&Version=2011-06-15`. Regional endpoints are also supported. - `method`: The HTTP request method: `POST`. - `headers`: The HTTP request headers, which must include: - `Authorization`: The request signature. - `x-amz-date`: The time you will send the request, formatted as an [ISO8601 Basic](https://docs.aws.amazon.com/general/latest/gr/sigv4_elements.html#sigv4_elements_date) string. This value is typically set to the current time and is used to help prevent replay attacks. - `host`: The hostname of the `url` field; for example, `sts.amazonaws.com`. - `x-goog-cloud-target-resource`: The full, canonical resource name of the workload identity pool provider, with or without an `https:` prefix. To help ensure data integrity, we recommend including this header in the `SignedHeaders` field of the signed request. For example: //iam.googleapis.com/projects//locations//workloadIdentityPools//providers/ https://iam.googleapis.com/projects//locations//workloadIdentityPools//providers/ If you are using temporary security credentials provided by AWS, you must also include the header `x-amz-security-token`, with the value set to the session token. The following example shows a `GetCallerIdentity` token: ``` { \"headers\": [ {\"key\": \"x-amz-date\", \"value\": \"20200815T015049Z\"}, {\"key\": \"Authorization\", \"value\": \"AWS4-HMAC-SHA256+Credential=$credential,+SignedHeaders=host;x-amz-date;x-goog-cloud-target-resource,+Signature=$signature\"}, {\"key\": \"x-goog-cloud-target-resource\", \"value\": \"//iam.googleapis.com/projects//locations//workloadIdentityPools//providers/\"}, {\"key\": \"host\", \"value\": \"sts.amazonaws.com\"} . ], \"method\": \"POST\", \"url\": \"https://sts.amazonaws.com?Action=GetCallerIdentity&Version=2011-06-15\" } ``` You can also use a Google-issued OAuth 2.0 access token with this field to obtain an access token with new security attributes applied, such as a Credential Access Boundary. In this case, set `subject_token_type` to `urn:ietf:params:oauth:token-type:access_token`. If an access token already contains security attributes, you cannot apply additional security attributes.",
           "type": "string"
         },
         "subjectTokenType": {
diff --git a/googleapiclient/discovery_cache/documents/sts.v1beta.json b/googleapiclient/discovery_cache/documents/sts.v1beta.json
index 4cd24e3..51cb873 100644
--- a/googleapiclient/discovery_cache/documents/sts.v1beta.json
+++ b/googleapiclient/discovery_cache/documents/sts.v1beta.json
@@ -116,7 +116,7 @@
       }
     }
   },
-  "revision": "20210430",
+  "revision": "20210508",
   "rootUrl": "https://sts.googleapis.com/",
   "schemas": {
     "GoogleIdentityStsV1betaExchangeTokenRequest": {
@@ -144,7 +144,7 @@
           "type": "string"
         },
         "subjectToken": {
-          "description": "Required. The input token. This token is a either an external credential issued by a workload identity pool provider, or a short-lived access token issued by Google. If the token is an OIDC JWT, it must use the JWT format defined in [RFC 7523](https://tools.ietf.org/html/rfc7523), and the `subject_token_type` must be `urn:ietf:params:oauth:token-type:jwt`. The following headers are required: - `kid`: The identifier of the signing key securing the JWT. - `alg`: The cryptographic algorithm securing the JWT. Must be `RS256`. The following payload fields are required. For more information, see [RFC 7523, Section 3](https://tools.ietf.org/html/rfc7523#section-3): - `iss`: The issuer of the token. The issuer must provide a discovery document at the URL `/.well-known/openid-configuration`, where `` is the value of this field. The document must be formatted according to section 4.2 of the [OIDC 1.0 Discovery specification](https://openid.net/specs/openid-connect-discovery-1_0.html#ProviderConfigurationResponse). - `iat`: The issue time, in seconds, since the Unix epoch. Must be in the past. - `exp`: The expiration time, in seconds, since the Unix epoch. Must be less than 48 hours after `iat`. Shorter expiration times are more secure. If possible, we recommend setting an expiration time less than 6 hours. - `sub`: The identity asserted in the JWT. - `aud`: Configured by the mapper policy. The default value is the service account's unique ID. Example header: ``` { \"alg\": \"RS256\", \"kid\": \"us-east-11\" } ``` Example payload: ``` { \"iss\": \"https://accounts.google.com\", \"iat\": 1517963104, \"exp\": 1517966704, \"aud\": \"113475438248934895348\", \"sub\": \"113475438248934895348\", \"my_claims\": { \"additional_claim\": \"value\" } } ``` If `subject_token` is for AWS, it must be a serialized `GetCallerIdentity` token. This token contains the same information as a request to the AWS [`GetCallerIdentity()`](https://docs.aws.amazon.com/STS/latest/APIReference/API_GetCallerIdentity) method, as well as the AWS [signature](https://docs.aws.amazon.com/general/latest/gr/signing_aws_api_requests.html) for the request information. Use Signature Version 4. Format the request as URL-encoded JSON, and set the `subject_token_type` parameter to `urn:ietf:params:aws:token-type:aws4_request`. The following parameters are required: - `url`: The URL of the AWS STS endpoint for `GetCallerIdentity()`, such as `https://sts.amazonaws.com?Action=GetCallerIdentity&Version=2011-06-15`. Regional endpoints are also supported. - `method`: The HTTP request method: `POST`. - `headers`: The HTTP request headers, which must include: - `Authorization`: The request signature. - `x-amz-date`: The time you will send the request, formatted as an [ISO8601 Basic](https://docs.aws.amazon.com/general/latest/gr/sigv4_elements.html#sigv4_elements_date) string. This value is typically set to the current time and is used to help prevent replay attacks. - `host`: The hostname of the `url` field; for example, `sts.amazonaws.com`. - `x-goog-cloud-target-resource`: The full, canonical resource name of the workload identity pool provider, with or without an `https:` prefix. To help ensure data integrity, we recommend including this header in the `SignedHeaders` field of the signed request. For example: //iam.googleapis.com/projects//locations//workloadIdentityPools//providers/ https://iam.googleapis.com/projects//locations//workloadIdentityPools//providers/ If you are using temporary security credentials provided by AWS, you must also include the header `x-amz-security-token`, with the value set to the session token. The following example shows a `GetCallerIdentity` token: ``` { \"headers\": [ {\"key\": \"x-amz-date\", \"value\": \"20200815T015049Z\"}, {\"key\": \"Authorization\", \"value\": \"AWS4-HMAC-SHA256+Credential=$credential,+SignedHeaders=host;x-amz-date;x-goog-cloud-target-resource,+Signature=$signature\"}, {\"key\": \"x-goog-cloud-target-resource\", \"value\": \"//iam.googleapis.com/projects//locations//workloadIdentityPools//providers/\"}, {\"key\": \"host\", \"value\": \"sts.amazonaws.com\"} . ], \"method\": \"POST\", \"url\": \"https://sts.amazonaws.com?Action=GetCallerIdentity&Version=2011-06-15\" } ``` You can also use a Google-issued OAuth 2.0 access token with this field to obtain an access token with new security attributes applied, such as a Credential Access Boundary. In this case, set `subject_token_type` to `urn:ietf:params:oauth:token-type:access_token`. If an access token already contains security attributes, you cannot apply additional security attributes.",
+          "description": "Required. The input token. This token is a either an external credential issued by a workload identity pool provider, or a short-lived access token issued by Google. If the token is an OIDC JWT, it must use the JWT format defined in [RFC 7523](https://tools.ietf.org/html/rfc7523), and the `subject_token_type` must be `urn:ietf:params:oauth:token-type:jwt`. The following headers are required: - `kid`: The identifier of the signing key securing the JWT. - `alg`: The cryptographic algorithm securing the JWT. Must be `RS256` or `ES256`. The following payload fields are required. For more information, see [RFC 7523, Section 3](https://tools.ietf.org/html/rfc7523#section-3): - `iss`: The issuer of the token. The issuer must provide a discovery document at the URL `/.well-known/openid-configuration`, where `` is the value of this field. The document must be formatted according to section 4.2 of the [OIDC 1.0 Discovery specification](https://openid.net/specs/openid-connect-discovery-1_0.html#ProviderConfigurationResponse). - `iat`: The issue time, in seconds, since the Unix epoch. Must be in the past. - `exp`: The expiration time, in seconds, since the Unix epoch. Must be less than 48 hours after `iat`. Shorter expiration times are more secure. If possible, we recommend setting an expiration time less than 6 hours. - `sub`: The identity asserted in the JWT. - `aud`: For workload identity pools, this must be a value specified in the allowed audiences for the workload identity pool provider, or one of the audiences allowed by default if no audiences were specified. See https://cloud.google.com/iam/docs/reference/rest/v1/projects.locations.workloadIdentityPools.providers#oidc Example header: ``` { \"alg\": \"RS256\", \"kid\": \"us-east-11\" } ``` Example payload: ``` { \"iss\": \"https://accounts.google.com\", \"iat\": 1517963104, \"exp\": 1517966704, \"aud\": \"//iam.googleapis.com/projects/1234567890123/locations/global/workloadIdentityPools/my-pool/providers/my-provider\", \"sub\": \"113475438248934895348\", \"my_claims\": { \"additional_claim\": \"value\" } } ``` If `subject_token` is for AWS, it must be a serialized `GetCallerIdentity` token. This token contains the same information as a request to the AWS [`GetCallerIdentity()`](https://docs.aws.amazon.com/STS/latest/APIReference/API_GetCallerIdentity) method, as well as the AWS [signature](https://docs.aws.amazon.com/general/latest/gr/signing_aws_api_requests.html) for the request information. Use Signature Version 4. Format the request as URL-encoded JSON, and set the `subject_token_type` parameter to `urn:ietf:params:aws:token-type:aws4_request`. The following parameters are required: - `url`: The URL of the AWS STS endpoint for `GetCallerIdentity()`, such as `https://sts.amazonaws.com?Action=GetCallerIdentity&Version=2011-06-15`. Regional endpoints are also supported. - `method`: The HTTP request method: `POST`. - `headers`: The HTTP request headers, which must include: - `Authorization`: The request signature. - `x-amz-date`: The time you will send the request, formatted as an [ISO8601 Basic](https://docs.aws.amazon.com/general/latest/gr/sigv4_elements.html#sigv4_elements_date) string. This value is typically set to the current time and is used to help prevent replay attacks. - `host`: The hostname of the `url` field; for example, `sts.amazonaws.com`. - `x-goog-cloud-target-resource`: The full, canonical resource name of the workload identity pool provider, with or without an `https:` prefix. To help ensure data integrity, we recommend including this header in the `SignedHeaders` field of the signed request. For example: //iam.googleapis.com/projects//locations//workloadIdentityPools//providers/ https://iam.googleapis.com/projects//locations//workloadIdentityPools//providers/ If you are using temporary security credentials provided by AWS, you must also include the header `x-amz-security-token`, with the value set to the session token. The following example shows a `GetCallerIdentity` token: ``` { \"headers\": [ {\"key\": \"x-amz-date\", \"value\": \"20200815T015049Z\"}, {\"key\": \"Authorization\", \"value\": \"AWS4-HMAC-SHA256+Credential=$credential,+SignedHeaders=host;x-amz-date;x-goog-cloud-target-resource,+Signature=$signature\"}, {\"key\": \"x-goog-cloud-target-resource\", \"value\": \"//iam.googleapis.com/projects//locations//workloadIdentityPools//providers/\"}, {\"key\": \"host\", \"value\": \"sts.amazonaws.com\"} . ], \"method\": \"POST\", \"url\": \"https://sts.amazonaws.com?Action=GetCallerIdentity&Version=2011-06-15\" } ``` You can also use a Google-issued OAuth 2.0 access token with this field to obtain an access token with new security attributes applied, such as a Credential Access Boundary. In this case, set `subject_token_type` to `urn:ietf:params:oauth:token-type:access_token`. If an access token already contains security attributes, you cannot apply additional security attributes.",
           "type": "string"
         },
         "subjectTokenType": {
diff --git a/googleapiclient/discovery_cache/documents/tagmanager.v1.json b/googleapiclient/discovery_cache/documents/tagmanager.v1.json
index 1286083..804ea61 100644
--- a/googleapiclient/discovery_cache/documents/tagmanager.v1.json
+++ b/googleapiclient/discovery_cache/documents/tagmanager.v1.json
@@ -1932,7 +1932,7 @@
       }
     }
   },
-  "revision": "20210506",
+  "revision": "20210513",
   "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 447e5f5..288b8a7 100644
--- a/googleapiclient/discovery_cache/documents/tagmanager.v2.json
+++ b/googleapiclient/discovery_cache/documents/tagmanager.v2.json
@@ -3125,7 +3125,7 @@
       }
     }
   },
-  "revision": "20210506",
+  "revision": "20210513",
   "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 0d020e4..d41673d 100644
--- a/googleapiclient/discovery_cache/documents/tasks.v1.json
+++ b/googleapiclient/discovery_cache/documents/tasks.v1.json
@@ -566,7 +566,7 @@
       }
     }
   },
-  "revision": "20210504",
+  "revision": "20210511",
   "rootUrl": "https://tasks.googleapis.com/",
   "schemas": {
     "Task": {
diff --git a/googleapiclient/discovery_cache/documents/testing.v1.json b/googleapiclient/discovery_cache/documents/testing.v1.json
index 878d43f..d078c68 100644
--- a/googleapiclient/discovery_cache/documents/testing.v1.json
+++ b/googleapiclient/discovery_cache/documents/testing.v1.json
@@ -282,7 +282,7 @@
       }
     }
   },
-  "revision": "20210430",
+  "revision": "20210510",
   "rootUrl": "https://testing.googleapis.com/",
   "schemas": {
     "Account": {
diff --git a/googleapiclient/discovery_cache/documents/texttospeech.v1.json b/googleapiclient/discovery_cache/documents/texttospeech.v1.json
index d590b2d..1f0da1f 100644
--- a/googleapiclient/discovery_cache/documents/texttospeech.v1.json
+++ b/googleapiclient/discovery_cache/documents/texttospeech.v1.json
@@ -153,7 +153,7 @@
       }
     }
   },
-  "revision": "20210430",
+  "revision": "20210507",
   "rootUrl": "https://texttospeech.googleapis.com/",
   "schemas": {
     "AudioConfig": {
diff --git a/googleapiclient/discovery_cache/documents/texttospeech.v1beta1.json b/googleapiclient/discovery_cache/documents/texttospeech.v1beta1.json
index 1e5e1f3..bd6f6be 100644
--- a/googleapiclient/discovery_cache/documents/texttospeech.v1beta1.json
+++ b/googleapiclient/discovery_cache/documents/texttospeech.v1beta1.json
@@ -153,7 +153,7 @@
       }
     }
   },
-  "revision": "20210430",
+  "revision": "20210507",
   "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 ca12215..bf96388 100644
--- a/googleapiclient/discovery_cache/documents/toolresults.v1beta3.json
+++ b/googleapiclient/discovery_cache/documents/toolresults.v1beta3.json
@@ -1463,7 +1463,7 @@
       }
     }
   },
-  "revision": "20210506",
+  "revision": "20210513",
   "rootUrl": "https://toolresults.googleapis.com/",
   "schemas": {
     "ANR": {
diff --git a/googleapiclient/discovery_cache/documents/tpu.v1.json b/googleapiclient/discovery_cache/documents/tpu.v1.json
index ca07440..8909606 100644
--- a/googleapiclient/discovery_cache/documents/tpu.v1.json
+++ b/googleapiclient/discovery_cache/documents/tpu.v1.json
@@ -659,7 +659,7 @@
       }
     }
   },
-  "revision": "20210505",
+  "revision": "20210510",
   "rootUrl": "https://tpu.googleapis.com/",
   "schemas": {
     "AcceleratorType": {
diff --git a/googleapiclient/discovery_cache/documents/tpu.v1alpha1.json b/googleapiclient/discovery_cache/documents/tpu.v1alpha1.json
index 2c11c55..ebc6643 100644
--- a/googleapiclient/discovery_cache/documents/tpu.v1alpha1.json
+++ b/googleapiclient/discovery_cache/documents/tpu.v1alpha1.json
@@ -659,7 +659,7 @@
       }
     }
   },
-  "revision": "20210505",
+  "revision": "20210510",
   "rootUrl": "https://tpu.googleapis.com/",
   "schemas": {
     "AcceleratorType": {
diff --git a/googleapiclient/discovery_cache/documents/trafficdirector.v2.json b/googleapiclient/discovery_cache/documents/trafficdirector.v2.json
index 200f240..85a739e 100644
--- a/googleapiclient/discovery_cache/documents/trafficdirector.v2.json
+++ b/googleapiclient/discovery_cache/documents/trafficdirector.v2.json
@@ -128,7 +128,7 @@
       }
     }
   },
-  "revision": "20210429",
+  "revision": "20210506",
   "rootUrl": "https://trafficdirector.googleapis.com/",
   "schemas": {
     "Address": {
diff --git a/googleapiclient/discovery_cache/documents/translate.v3.json b/googleapiclient/discovery_cache/documents/translate.v3.json
index 5c762bf..4bb396a 100644
--- a/googleapiclient/discovery_cache/documents/translate.v3.json
+++ b/googleapiclient/discovery_cache/documents/translate.v3.json
@@ -687,7 +687,7 @@
       }
     }
   },
-  "revision": "20210430",
+  "revision": "20210506",
   "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 45d7fb0..5bc2c3f 100644
--- a/googleapiclient/discovery_cache/documents/translate.v3beta1.json
+++ b/googleapiclient/discovery_cache/documents/translate.v3beta1.json
@@ -407,7 +407,7 @@
               ],
               "parameters": {
                 "parent": {
-                  "description": "Required. Location to make a regional call. Format: `projects/{project-number-or-id}/locations/{location-id}`. For global calls, use `projects/{project-number-or-id}/locations/global` or `projects/{project-number-or-id}`. Non-global location is required for requests using AutoML models or custom glossaries. Models and glossaries must be within the same region (have the same location-id), otherwise an INVALID_ARGUMENT (400) error is returned.",
+                  "description": "Required. Location to make a regional call. Format: `projects/{project-number-or-id}/locations/{location-id}`. For global calls, use `projects/{project-number-or-id}/locations/global`. Non-global location is required for requests using AutoML models or custom glossaries. Models and glossaries must be within the same region (have the same location-id), otherwise an INVALID_ARGUMENT (400) error is returned.",
                   "location": "path",
                   "pattern": "^projects/[^/]+/locations/[^/]+$",
                   "required": true,
@@ -744,7 +744,7 @@
       }
     }
   },
-  "revision": "20210430",
+  "revision": "20210506",
   "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 905ff4a..be048c9 100644
--- a/googleapiclient/discovery_cache/documents/vault.v1.json
+++ b/googleapiclient/discovery_cache/documents/vault.v1.json
@@ -1193,7 +1193,7 @@
       }
     }
   },
-  "revision": "20210505",
+  "revision": "20210513",
   "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 03ca4da..2375b08 100644
--- a/googleapiclient/discovery_cache/documents/vectortile.v1.json
+++ b/googleapiclient/discovery_cache/documents/vectortile.v1.json
@@ -343,7 +343,7 @@
       }
     }
   },
-  "revision": "20210508",
+  "revision": "20210513",
   "rootUrl": "https://vectortile.googleapis.com/",
   "schemas": {
     "Area": {
diff --git a/googleapiclient/discovery_cache/documents/videointelligence.v1.json b/googleapiclient/discovery_cache/documents/videointelligence.v1.json
index 165445a..bc837b2 100644
--- a/googleapiclient/discovery_cache/documents/videointelligence.v1.json
+++ b/googleapiclient/discovery_cache/documents/videointelligence.v1.json
@@ -350,7 +350,7 @@
       }
     }
   },
-  "revision": "20210419",
+  "revision": "20210506",
   "rootUrl": "https://videointelligence.googleapis.com/",
   "schemas": {
     "GoogleCloudVideointelligenceV1_AnnotateVideoProgress": {
diff --git a/googleapiclient/discovery_cache/documents/videointelligence.v1beta2.json b/googleapiclient/discovery_cache/documents/videointelligence.v1beta2.json
index 51bf018..6c955e2 100644
--- a/googleapiclient/discovery_cache/documents/videointelligence.v1beta2.json
+++ b/googleapiclient/discovery_cache/documents/videointelligence.v1beta2.json
@@ -128,7 +128,7 @@
       }
     }
   },
-  "revision": "20210419",
+  "revision": "20210506",
   "rootUrl": "https://videointelligence.googleapis.com/",
   "schemas": {
     "GoogleCloudVideointelligenceV1_AnnotateVideoProgress": {
diff --git a/googleapiclient/discovery_cache/documents/videointelligence.v1p1beta1.json b/googleapiclient/discovery_cache/documents/videointelligence.v1p1beta1.json
index e610976..ecebdd0 100644
--- a/googleapiclient/discovery_cache/documents/videointelligence.v1p1beta1.json
+++ b/googleapiclient/discovery_cache/documents/videointelligence.v1p1beta1.json
@@ -128,7 +128,7 @@
       }
     }
   },
-  "revision": "20210419",
+  "revision": "20210506",
   "rootUrl": "https://videointelligence.googleapis.com/",
   "schemas": {
     "GoogleCloudVideointelligenceV1_AnnotateVideoProgress": {
diff --git a/googleapiclient/discovery_cache/documents/videointelligence.v1p2beta1.json b/googleapiclient/discovery_cache/documents/videointelligence.v1p2beta1.json
index 606271f..ccf610b 100644
--- a/googleapiclient/discovery_cache/documents/videointelligence.v1p2beta1.json
+++ b/googleapiclient/discovery_cache/documents/videointelligence.v1p2beta1.json
@@ -128,7 +128,7 @@
       }
     }
   },
-  "revision": "20210419",
+  "revision": "20210506",
   "rootUrl": "https://videointelligence.googleapis.com/",
   "schemas": {
     "GoogleCloudVideointelligenceV1_AnnotateVideoProgress": {
diff --git a/googleapiclient/discovery_cache/documents/videointelligence.v1p3beta1.json b/googleapiclient/discovery_cache/documents/videointelligence.v1p3beta1.json
index f91ad24..aadade7 100644
--- a/googleapiclient/discovery_cache/documents/videointelligence.v1p3beta1.json
+++ b/googleapiclient/discovery_cache/documents/videointelligence.v1p3beta1.json
@@ -128,7 +128,7 @@
       }
     }
   },
-  "revision": "20210419",
+  "revision": "20210506",
   "rootUrl": "https://videointelligence.googleapis.com/",
   "schemas": {
     "GoogleCloudVideointelligenceV1_AnnotateVideoProgress": {
diff --git a/googleapiclient/discovery_cache/documents/vision.v1.json b/googleapiclient/discovery_cache/documents/vision.v1.json
index 4dca3cd..2c1264a 100644
--- a/googleapiclient/discovery_cache/documents/vision.v1.json
+++ b/googleapiclient/discovery_cache/documents/vision.v1.json
@@ -1282,7 +1282,7 @@
       }
     }
   },
-  "revision": "20210502",
+  "revision": "20210512",
   "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 8e5ff6e..a740fe9 100644
--- a/googleapiclient/discovery_cache/documents/vision.v1p1beta1.json
+++ b/googleapiclient/discovery_cache/documents/vision.v1p1beta1.json
@@ -449,7 +449,7 @@
       }
     }
   },
-  "revision": "20210502",
+  "revision": "20210512",
   "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 cb967f3..866f249 100644
--- a/googleapiclient/discovery_cache/documents/vision.v1p2beta1.json
+++ b/googleapiclient/discovery_cache/documents/vision.v1p2beta1.json
@@ -449,7 +449,7 @@
       }
     }
   },
-  "revision": "20210502",
+  "revision": "20210512",
   "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 a3ac12b..e6258eb 100644
--- a/googleapiclient/discovery_cache/documents/webrisk.v1.json
+++ b/googleapiclient/discovery_cache/documents/webrisk.v1.json
@@ -446,7 +446,7 @@
       }
     }
   },
-  "revision": "20210501",
+  "revision": "20210508",
   "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 3098955..9544f31 100644
--- a/googleapiclient/discovery_cache/documents/websecurityscanner.v1.json
+++ b/googleapiclient/discovery_cache/documents/websecurityscanner.v1.json
@@ -526,7 +526,7 @@
       }
     }
   },
-  "revision": "20210424",
+  "revision": "20210508",
   "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 77730d1..d24fd9e 100644
--- a/googleapiclient/discovery_cache/documents/websecurityscanner.v1alpha.json
+++ b/googleapiclient/discovery_cache/documents/websecurityscanner.v1alpha.json
@@ -526,7 +526,7 @@
       }
     }
   },
-  "revision": "20210424",
+  "revision": "20210508",
   "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 d130fcf..a88acd6 100644
--- a/googleapiclient/discovery_cache/documents/websecurityscanner.v1beta.json
+++ b/googleapiclient/discovery_cache/documents/websecurityscanner.v1beta.json
@@ -526,7 +526,7 @@
       }
     }
   },
-  "revision": "20210424",
+  "revision": "20210508",
   "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 e1d84e9..2f724bd 100644
--- a/googleapiclient/discovery_cache/documents/workflowexecutions.v1.json
+++ b/googleapiclient/discovery_cache/documents/workflowexecutions.v1.json
@@ -269,7 +269,7 @@
       }
     }
   },
-  "revision": "20210427",
+  "revision": "20210506",
   "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 916c6d2..97ded5f 100644
--- a/googleapiclient/discovery_cache/documents/workflowexecutions.v1beta.json
+++ b/googleapiclient/discovery_cache/documents/workflowexecutions.v1beta.json
@@ -269,7 +269,7 @@
       }
     }
   },
-  "revision": "20210427",
+  "revision": "20210506",
   "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 163c011..99107bc 100644
--- a/googleapiclient/discovery_cache/documents/workflows.v1.json
+++ b/googleapiclient/discovery_cache/documents/workflows.v1.json
@@ -444,7 +444,7 @@
       }
     }
   },
-  "revision": "20210428",
+  "revision": "20210506",
   "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 0c5325f..7f58b33 100644
--- a/googleapiclient/discovery_cache/documents/workflows.v1beta.json
+++ b/googleapiclient/discovery_cache/documents/workflows.v1beta.json
@@ -444,7 +444,7 @@
       }
     }
   },
-  "revision": "20210428",
+  "revision": "20210506",
   "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 1dbbbb0..4b02913 100644
--- a/googleapiclient/discovery_cache/documents/youtube.v3.json
+++ b/googleapiclient/discovery_cache/documents/youtube.v3.json
@@ -3764,7 +3764,7 @@
       }
     }
   },
-  "revision": "20210506",
+  "revision": "20210512",
   "rootUrl": "https://youtube.googleapis.com/",
   "schemas": {
     "AbuseReport": {
diff --git a/googleapiclient/discovery_cache/documents/youtubeAnalytics.v2.json b/googleapiclient/discovery_cache/documents/youtubeAnalytics.v2.json
index ae4107f..3024645 100644
--- a/googleapiclient/discovery_cache/documents/youtubeAnalytics.v2.json
+++ b/googleapiclient/discovery_cache/documents/youtubeAnalytics.v2.json
@@ -421,7 +421,7 @@
       }
     }
   },
-  "revision": "20210505",
+  "revision": "20210510",
   "rootUrl": "https://youtubeanalytics.googleapis.com/",
   "schemas": {
     "EmptyResponse": {
@@ -475,7 +475,7 @@
           "enumDescriptions": [
             "location is an xpath-like path pointing to the request field that caused the error.",
             "other location type which can safely be shared externally.",
-            "Location is request paramater. This maps to the {@link PARAMETERS} in {@link MessageLocation}."
+            "Location is request parameter. This maps to the {@link PARAMETERS} in {@link MessageLocation}."
           ],
           "type": "string"
         }
diff --git a/googleapiclient/discovery_cache/documents/youtubereporting.v1.json b/googleapiclient/discovery_cache/documents/youtubereporting.v1.json
index 35fd65e..d5bf4d5 100644
--- a/googleapiclient/discovery_cache/documents/youtubereporting.v1.json
+++ b/googleapiclient/discovery_cache/documents/youtubereporting.v1.json
@@ -411,7 +411,7 @@
       }
     }
   },
-  "revision": "20210505",
+  "revision": "20210510",
   "rootUrl": "https://youtubereporting.googleapis.com/",
   "schemas": {
     "Empty": {